arkUI:Flex弹性布局的各个属性

arkUI:Flex弹性布局的简单使用

  • 1 主要内容说明
  • 2 相关内容
    • 2.1 Flex弹性布局的方向
      • 2.1.1 源码1的简答说明
      • 2.1.2 源码1 (Flex弹性布局的方向)
      • 2.1.3 源码1运行效果
        • 2.1.3.1 当`direction: FlexDirection.RowReverse`
        • 2.1.3.2 当`direction: FlexDirection.Row`
        • 2.1.2.3 当`direction: FlexDirection.ColumnReverse`
        • 2.1.2.4 当`direction: FlexDirection.Column`
    • 2.2 Flex主轴的对齐方式
      • 2.2.1 源码2简单说明
      • 2.2.2 源码2(Flex主轴的对齐方式)
      • 2.2.3 源码2运行效果
        • 2.2.3.1 当`justifyContent: FlexAlign.SpaceBetween,`
        • 2.2.3.2 当`justifyContent: FlexAlign.SpaceAround,`
        • 2.2.3.3 当`justifyContent: FlexAlign.SpaceEvenly,`
        • 2.2.3.4 当`justifyContent: FlexAlign.End,`
        • 2.2.3.5 当`justifyContent: FlexAlign.Center,`
        • 2.2.3.6 当`justifyContent: FlexAlign.Start,`
    • 2.3 Flex交叉轴的对齐方式
      • 2.3.1 源码3的简单说明
      • 2.3.2 源码3(shift方法)
      • 2.3.3 源码3运行效果
        • 2.3.3.1 当`alignItems: ItemAlign.Center,`
        • 2.3.3.2 当`alignItems: ItemAlign.Start, `
        • 2.3.3.3 当`alignItems: ItemAlign.End, `
        • 2.3.3.4 当`alignItems: ItemAlign.Stretch, `
    • 2.4 Flex布局的换行
      • 2.4.1 源码4的相关说明
      • 2.4.2 源码4(Flex布局的换行)
      • 2.4.3 源码4运行效果
        • 2.4.3.1 当`wrap: FlexWrap.Wrap,`
        • 2.4.3.2 当`wrap: FlexWrap.WrapReverse,`
        • 2.4.3.3 当`wrap: FlexWrap.NoWrap,`
    • 2.5 换行后单独设置交叉轴的子组件
      • 2.5.1 源码5的相关说明
      • 2.5.2 源码5(换行后单独设置交叉轴的子组件)
      • 2.5.3 源码5的运行效果
        • 2.5.3.1 设置alignSelf 属性时如下
        • 2.5.3.2 不设置alignSelf 属性时,对照组如下
  • 3.结语
  • 4.定位日期

1 主要内容说明

在 Flex 布局中,元素会根据容器的设置自动调整位置。例如,元素可以在主轴上按不同的对齐方式排列,如从左到右或从右到左,也可以调整元素之间的间距,确保布局的美观性。通过控制元素在交叉轴(与主轴垂直)上的对齐方式,可以让它们在容器中垂直居中或伸展以适应容器高度。
Flex 布局还支持换行,当容器的空间不够时,元素会自动换行或列出。通过适当配置,可以精确控制每个元素的大小、位置和间距。我们可以轻松实现各种复杂的布局,而不必担心元素会被挤到容器外或错位。
Flex 布局是为了应对现代网页和应用中动态、响应式的布局需求,它能高效地让我们处理元素的排列、对齐和分布问题。

2 相关内容

2.1 Flex弹性布局的方向

内容说明
FlexDirection.Row水平从左到右排列子元素(默认方向)。适合横向排列子项,类似于一行的布局。
FlexDirection.RowReverse水平从右到左排列子元素。可以用于右对齐的横向排列,元素逆序显示。
FlexDirection.Column垂直从上到下排列子元素。适合纵向布局,类似于一列的排列。
FlexDirection.ColumnReverse垂直从下到上排列子元素。用于倒序的纵向排列。

2.1.1 源码1的简答说明

  • Flex 容器:使用 Flex 布局来排列子元素,设置了横向反转排列(RowReverse)。容器高度为 60%,宽度为 100%,背景色为半透明青色。
  • 文本组件:遍历数组 arr 中的三个字符串,每个字符串生成一个 Text 组件。设置文本组件的宽高、背景色、边框、字体大小、对齐方式等样式,并添加了圆角、背景图片及其尺寸配置。

2.1.2 源码1 (Flex弹性布局的方向)

@Entry
@Component
struct PageFlex {

  // 定义一个字符串数组,包含了三个组件的名字
  arr: string[] = ["组件1", "组件2", "组件3"]

  // 构建页面的方法
  build() {
    // 创建一个 Flex 布局容器
    Flex({
      // 设置布局方向为 RowReverse(横向反转排列)
      direction: FlexDirection.RowReverse
      // 其他布局方向选项(已注释):
      // FlexDirection.Row: 横向排列
      // FlexDirection.Column: 纵向排列
      // FlexDirection.ColumnReverse: 纵向反转排列
    }) {
      // 遍历字符串数组 arr
      ForEach(
        this.arr,
        (str: string) => {
          // 为每个字符串创建一个 Text 组件
          Text(str)
            .width(80)                       // 设置宽度为 80
            .height(80)                      // 设置高度为 80
            .backgroundColor("#ff64dd4d")    // 设置背景颜色为半透明绿色
            .border({ width: 1 })            // 设置边框宽度为 1
            .borderColor("blue")             // 设置边框颜色为蓝色
            .textAlign(TextAlign.Center)     // 设置文本居中对齐
            .fontSize(30)                    // 设置字体大小为 30
            .borderRadius(40)                // 设置边框圆角为 40
            .backgroundImage($r("app.media.xiaowoniu")) // 设置背景图片
            .backgroundImageSize({ width: 80, height: 80 }) // 设置背景图片尺寸
            .fontColor("green")              // 设置字体颜色为绿色
        }
      )
    }
    // 设置 Flex 容器的高度为 60%,宽度为 100%
    .height('60%')
    .width('100%')
    .backgroundColor("#ff4dd7ac")           // 设置 Flex 容器背景颜色为半透明青色
  }
}

2.1.3 源码1运行效果

2.1.3.1 当direction: FlexDirection.RowReverse

在这里插入图片描述

2.1.3.2 当direction: FlexDirection.Row

在这里插入图片描述

2.1.2.3 当direction: FlexDirection.ColumnReverse

在这里插入图片描述

2.1.2.4 当direction: FlexDirection.Column

在这里插入图片描述

2.2 Flex主轴的对齐方式

在 ArkUI 的 Flex 布局中,justifyContent 属性用于设置子组件在主轴(主排列方向)上的对齐方式。不同的 FlexAlign 枚举值决定了子组件在主轴方向上如何排列。下面是各个参数的说明:

枚举说明
FlexAlign.Start子组件从主轴的起始位置(左或上)开始排列,紧贴在一起。
FlexAlign.Center子组件在主轴方向居中排列。
FlexAlign.End子组件从主轴的结束位置(右或下)排列。
FlexAlign.SpaceBetween子组件在主轴方向上均匀分布,第一个子组件紧贴起始位置,最后一个子组件紧贴结束位置。
FlexAlign.SpaceAround子组件在主轴方向上均匀分布,每个组件两侧留有相等的空间,整体空间略小于 SpaceEvenly。
FlexAlign.SpaceEvenly子组件在主轴方向上均匀分布,每个组件之间以及与容器边缘的距离相等。

2.2.1 源码2简单说明

使用了 justifyContent 属性设置子组件在容器中的对齐方式为 SpaceBetween,即子组件均匀分布在两端。

  • mes 扩展方法:通过 @Extend(Text) 创建了 mes 方法来统一设置 Text 组件的样式。样式包括文本宽高、背景色、边框、文本对齐、字体大小、圆角、背景图片及其大小等。

2.2.2 源码2(Flex主轴的对齐方式)

import { text } from '@kit.ArkGraphics2D'

@Entry
@Component
struct PageFlex {

  // 定义一个字符串数组,包含了三个组件的名字
  arr: string[] = ["组件1", "组件2", "组件3"]

  // 构建页面的方法
  build() {
    // 创建一个 Flex 布局容器
    Flex({
      direction: FlexDirection.Row,
      // 设置子组件的对齐方式为两端对齐
      justifyContent: FlexAlign.SpaceBetween,
      // 其他对齐选项(已注释):
      // FlexAlign.Start: 从左侧开始对齐
      // FlexAlign.Center: 居中对齐
      // FlexAlign.End: 从右侧对齐
      // FlexAlign.SpaceAround: 子元素之间均匀分布,带边距
      // FlexAlign.SpaceEvenly: 子元素之间均匀分布,不带边距
    }) {
      // 遍历字符串数组 arr
      ForEach(
        this.arr,
        (str: string) => {
          // 为每个字符串创建一个 Text 组件,调用 mes 方法设置样式
          Text(str)
            .mes()
        }
      )
    }
    // 设置 Flex 容器的高度为 60%,宽度为 100%
    .height('60%')
    .width('100%')
    .backgroundColor("#ff4dd7ac")           // 设置 Flex 容器背景颜色为半透明青色
  }
}

// 扩展 Text 组件的 mes 方法来统一设置样式
@Extend(Text)
function mes() {
  .width(80)                       // 设置宽度为 80
  .height(80)                      // 设置高度为 80
  .backgroundColor("#ff64dd4d")    // 设置背景颜色为半透明绿色
  .border({ width: 1 })            // 设置边框宽度为 1
  .borderColor("blue")             // 设置边框颜色为蓝色
  .textAlign(TextAlign.Center)     // 设置文本居中对齐
  .fontSize(30)                    // 设置字体大小为 30
  .borderRadius(40)                // 设置边框圆角为 40
  .backgroundImage($r("app.media.xiaowoniu")) // 设置背景图片
  .backgroundImageSize({ width: 80, height: 80 }) // 设置背景图片尺寸
  .fontColor("green")              // 设置字体颜色为绿色
}

2.2.3 源码2运行效果

2.2.3.1 当justifyContent: FlexAlign.SpaceBetween,

1

2.2.3.2 当justifyContent: FlexAlign.SpaceAround,

在这里插入图片描述

2.2.3.3 当justifyContent: FlexAlign.SpaceEvenly,

在这里插入图片描述

2.2.3.4 当justifyContent: FlexAlign.End,

在这里插入图片描述

2.2.3.5 当justifyContent: FlexAlign.Center,

在这里插入图片描述

2.2.3.6 当justifyContent: FlexAlign.Start,

在这里插入图片描述

2.3 Flex交叉轴的对齐方式

alignItems 用于设置子组件在控制交叉轴对齐方式属性。不同的 ItemAlign枚举值决定了子组件在交叉轴方向上如何排列。下面是各个参数的说明:

内容说明
ItemAlign.Auto默认自动对齐,通常情况下由布局或父组件控制。
ItemAlign.Start子组件在交叉轴(垂直方向)上从起始边对齐(通常是顶部对齐)。
ItemAlign.Center子组件在交叉轴上居中对齐,使它们位于容器垂直方向的中央。
ItemAlign.End子组件在交叉轴上从结束边对齐(通常是底部对齐)。
ItemAlign.Baseline子组件按照其文本的基线对齐,适合包含文本内容的组件,确保文字在视觉上对齐。
ItemAlign.Stretch子组件沿交叉轴方向拉伸,填满容器的交叉轴区域。

2.3.1 源码3的简单说明

这段代码通过 ArkUI 的 Flex 布局在页面中创建了一排文本组件,使用 justifyContent 控制主轴对齐方式,alignItems 控制交叉轴对齐方式。

  • alignItems: ItemAlign.Center 后需要逗号,避免语法错误。

2.3.2 源码3(shift方法)

import { text } from '@kit.ArkGraphics2D'

@Entry
@Component
struct PageFlex {

  // 定义一个字符串数组,包含了三个组件的名字
  arr: string[] = ["组件1", "组件2", "组件3"]

  // 构建页面的方法
  build() {
    // 创建一个 Flex 布局容器
    Flex({
      direction: FlexDirection.Row,
      // 设置主轴方向为两端均匀分布
      justifyContent: FlexAlign.SpaceEvenly,
      // 设置交叉轴方向居中对齐
      alignItems: ItemAlign.Center,
      // 其他对齐选项(已注释):
      // ItemAlign.Auto: 默认自动对齐
      // ItemAlign.Start: 从交叉轴的起始边对齐
      // ItemAlign.End: 从交叉轴的结束边对齐
      // ItemAlign.Baseline: 根据文本基线对齐
      // ItemAlign.Stretch: 拉伸填满交叉轴
    }) {
      // 遍历字符串数组 arr
      ForEach(
        this.arr,
        (str: string) => {
          // 为每个字符串创建一个 Text 组件,调用 mes 方法设置样式
          Text(str)
            .mes()
        }
      )
    }
    // 设置 Flex 容器的高度为 60%,宽度为 100%
    .height('60%')
    .width('100%')
    .backgroundColor("#ff4dd7ac")           // 设置 Flex 容器背景颜色为半透明青色
  }
}

// 扩展 Text 组件的 mes 方法来统一设置样式
@Extend(Text)
function mes() {
  .width(80)                       // 设置宽度为 80
  .height(80)                      // 设置高度为 80
  .backgroundColor("#ff64dd4d")    // 设置背景颜色为半透明绿色
  .border({ width: 1 })            // 设置边框宽度为 1
  .borderColor("blue")             // 设置边框颜色为蓝色
  .textAlign(TextAlign.Center)     // 设置文本居中对齐
  .fontSize(30)                    // 设置字体大小为 30
  .borderRadius(40)                // 设置边框圆角为 40
  .backgroundImage($r("app.media.xiaowoniu")) // 设置背景图片
  .backgroundImageSize({ width: 80, height: 80 }) // 设置背景图片尺寸
  .fontColor("green")              // 设置字体颜色为绿色
}

2.3.3 源码3运行效果

2.3.3.1 当alignItems: ItemAlign.Center,

在这里插入图片描述

2.3.3.2 当alignItems: ItemAlign.Start,

在这里插入图片描述

2.3.3.3 当alignItems: ItemAlign.End,

在这里插入图片描述

2.3.3.4 当alignItems: ItemAlign.Stretch,

在这里插入图片描述

2.4 Flex布局的换行

布局换行的相关参数如下:

项目Value
FlexWrap.NoWrap子组件不换行,所有组件会放置在同一行或列上,可能导致内容超出容器边界。
FlexWrap.Wrap子组件按容器边界自动换行。
FlexWrap.WrapReverse与 Wrap 类似,但新行会显示在前一行的上方(或左侧),即反转排列顺序。

2.4.1 源码4的相关说明

创建了一个主轴方向为 Row 的水平 Flex 布局。主轴对齐方式:使用 justifyContent:FlexAlign.SpaceBetween,在主轴方向上让组件两端对齐,组件之间均匀分布。换行方式:设置 wrap: FlexWrap.Wrap,组件在边界处自动换行。

2.4.2 源码4(Flex布局的换行)

import { text } from '@kit.ArkGraphics2D'

@Entry
@Component
struct PageFlex {

  // 定义一个字符串数组,包含了多个组件的名字
  arr: string[] = ["组件1", "组件2", "组件3", "组件4", "组件5", "组件6", "组件7", "组件8", "组件9", "组件10"]

  // 构建页面的方法
  build() {
    // 创建一个 Flex 布局容器
    Flex({
      direction: FlexDirection.Row,
      // 设置主轴方向为两端均匀分布
      justifyContent: FlexAlign.SpaceBetween,
      // 设置交叉轴方向居中对齐
      // alignItems: ItemAlign.Center,
      // 设置子组件换行
      wrap: FlexWrap.Wrap,
      // 其他选项(已注释):
      // FlexWrap.NoWrap: 不换行,所有组件在一行内显示
      // FlexWrap.WrapReverse: 组件换行但方向反转
    }) {
      // 遍历字符串数组 arr
      ForEach(
        this.arr,
        (str: string) => {
          // 为每个字符串创建一个 Text 组件,调用 mes 方法设置样式
          Text(str)
            .mes()
        }
      )
    }
    // 设置 Flex 容器的高度为 60%,宽度为 100%
    .height('60%')
    .width('100%')
    .backgroundColor("#ff4dd7ac")           // 设置 Flex 容器背景颜色为半透明青色
  }
}

// 扩展 Text 组件的 mes 方法来统一设置样式
@Extend(Text)
function mes() {
  .width(80)                       // 设置宽度为 80
  .height(80)                      // 设置高度为 80
  .backgroundColor("#ff64dd4d")    // 设置背景颜色为半透明绿色
  .border({ width: 1 })            // 设置边框宽度为 1
  .borderColor("blue")             // 设置边框颜色为蓝色
  .textAlign(TextAlign.Center)     // 设置文本居中对齐
  .fontSize(30)                    // 设置字体大小为 30
  .borderRadius(40)                // 设置边框圆角为 40
  .backgroundImage($r("app.media.xiaowoniu")) // 设置背景图片
  .backgroundImageSize({ width: 80, height: 80 }) // 设置背景图片尺寸
  .fontColor("green")              // 设置字体颜色为绿色
}

2.4.3 源码4运行效果

2.4.3.1 当wrap: FlexWrap.Wrap,

在这里插入图片描述

2.4.3.2 当wrap: FlexWrap.WrapReverse,

在这里插入图片描述

2.4.3.3 当wrap: FlexWrap.NoWrap,

在这里插入图片描述

2.5 换行后单独设置交叉轴的子组件

如果在 Flex 布局容器中启用了换行(wrap: FlexWrap.Wrap 或 wrap: FlexWrap.WrapReverse),那么 alignItems: ItemAlign.Center 可能会失效。因为,alignItems 是用来设置 主容器 中的 子项 在交叉轴上的对齐方式的(例如,垂直对齐)。当启用 换行(wrap) 时,子项可能会分为多行或多列排列。在这种情况下,如alignItems: ItemAlign.Center 仅会影响第一行或第一列的子项,其他行或列的子项则不会受此影响。如果希望每行/列的子项都在交叉轴上居中对齐,可以通过设置每个子项的 alignSelf 来单独控制每个子项的对齐方式,而不是依赖于 alignItems。

2.5.1 源码5的相关说明

  • Text(“组件1”) ------ 第一个文本组件,通过 alignSelf(ItemAlign.Stretch) 在交叉轴方向上拉伸以填满容器。
  • Text(“组件2”) ------ 第二个文本组件,通过 alignSelf(ItemAlign.Center) 在交叉轴上居中对齐。
  • Text(“组件3”) ------ 第三个文本组件,通过 alignSelf(ItemAlign.End) 在交叉轴上对齐到容器的末尾。

2.5.2 源码5(换行后单独设置交叉轴的子组件)

import { text } from '@kit.ArkGraphics2D'

@Entry
@Component
struct PageFlex {

  // 构建页面的方法
  build() {
    // 创建一个 Flex 布局容器
    Flex() {

      // 创建第一个文本组件,并设置它在交叉轴上拉伸以填满容器
      Text("组件1").mes()
        .alignSelf(ItemAlign.Stretch) // 交叉轴方向拉伸填充容器

      // 创建第二个文本组件,并设置它在交叉轴上居中对齐
      Text("组件2").mes()
        .alignSelf(ItemAlign.Center)  // 交叉轴方向居中对齐

      // 创建第三个文本组件,并设置它在交叉轴上对齐到末尾
      Text("组件3").mes()
        .alignSelf(ItemAlign.End)     // 交叉轴方向对齐到末尾

    }
    // 设置 Flex 容器的高度为 60%,宽度为 100%
    .height('60%')
    .width('100%')
    .backgroundColor("#ff4dd7ac")           // 设置 Flex 容器背景颜色为半透明青色
  }
}

// 扩展 Text 组件的 mes 方法来统一设置样式
@Extend(Text)
function mes() {
  .width(80)                       // 设置文本框宽度为 80
  .height(80)                      // 设置文本框高度为 80
  .backgroundColor("#ff64dd4d")    // 设置背景颜色为半透明绿色
  .border({ width: 1 })            // 设置边框宽度为 1
  .borderColor("blue")             // 设置边框颜色为蓝色
  .textAlign(TextAlign.Center)     // 设置文本居中对齐
  .fontSize(30)                    // 设置字体大小为 30
  .borderRadius(40)                // 设置边框圆角为 40
  .backgroundImage($r("app.media.xiaowoniu")) // 设置背景图片
  .backgroundImageSize({ width: 80, height: 80 }) // 设置背景图片尺寸
  .fontColor("green")              // 设置字体颜色为绿色
}

2.5.3 源码5的运行效果

2.5.3.1 设置alignSelf 属性时如下

在这里插入图片描述

2.5.3.2 不设置alignSelf 属性时,对照组如下

在这里插入图片描述

3.结语

flex弹性布局和前面的row、column的对齐方式的博文内容有许多类似的地方,如主轴的参数和设置基本一样。有些许不同的是交叉轴的命名使用方式,但基本参数都有相同的,可以类比。不同的,如flex弹性布局多了像拉伸这样的属性值。可以多对比一下注意区分。
由于笔者的能力有限,创作的内容有所不足在所难免,也敬请读者包涵和指出,万分感谢!

4.定位日期

2024-11-8;
22:07;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/911773.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

串口接收,不定长数据接收

###1.CUBE-MX配置串口 2.我采用串口中断接收,打开中断接口 3.时钟同样8倍频,1分频,使用内部时钟 打开串口中断 main() { __HAL_UART_ENABLE_IT(&huart1, UART_IT_IDLE); // 启用空闲中断__HAL_UART_ENABLE_IT(&huart1, UART_IT_R…

TikTok本土店vs跨境店:解读TikTok小店差异

TikTok小店的两种主要的店铺类型:本土店和跨境店,虽然这两种店铺在功能上有相似之处,但它们在运营模式、市场定位、目标受众和面临的挑战等方面存在显著的区别。 一、定义与基本特征 1. TikTok本土店 本土店指的是在特定国家或地区内经营的…

深度学习——优化算法、激活函数、归一化、正则化

文章目录 🌺深度学习面试八股汇总🌺优化算法方法梯度下降 (Gradient Descent, GD)动量法 (Momentum)AdaGrad (Adaptive Gradient Algorithm)RMSProp (Root Mean Square Propagation)Adam (Adaptive Moment Estimation)AdamW 优化算法总结 经验和实践建议…

用 Python搭建一个微型的HTTP服务器用于传输 2024/11/9

使用内置的 http.server 模块,来搭建微型服务器。 快速启动服务器http.server --- HTTP 服务器Python 3.13.0 文档 声明:文章代码部分 由 ai 生成 创建一个简单的文件共享服务器 进入 需要共享的目录 再打开cmd 输入以下代码 python -m http.server 8000 打开服务器 设置主…

虚拟机linux7.9下安装mysql

1.MySQL官网下载安装包: MySQL :: Download MySQL Community Server https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz 2.解压文件: #tar xvzf mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz 3.移动文件&#…

Turtlebot3 buger 硬件与操作平台详细介绍

引言 TurtleBot3 有三个版本,分别是紧凑型的 Burger、功能更强的 Waffle和性能提升的 Waffle Pi,分别适用于不同的应用需求。使用 Raspberry Pi 作为主控单板计算机(SBC),而 Waffle Pi 可以使用更强大的 NVIDIA Jetson…

LabVIEW导入并显示CAD DXF文件图形 程序见附件

LabVIEW导入并显示CAD DXF文件图形 程序见附件 LabVIEW导入并显示CAD DXF文件图形 程序见附件 - 北京瀚文网星科技有限公司 LabVIEW广泛应用于自动化、数据采集、图形显示等领域。对于涉及CAD图形的应用,LabVIEW也提供了一些方法来导入和显示CAD DXF文件&#x…

北斗智能定位平板终端|三防平板|北斗有源终端|北斗搜救终端

在当今快速发展的科技时代,智能设备的应用已经渗透到我们生活的方方面面,从日常娱乐到专业工作,无一不彰显着科技的魅力。特别是在高精度定位领域,随着全球卫星导航系统(GNSS)技术的不断进步,智…

40.第二阶段x86游戏实战2-初识lua

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要…

华为ENSP--ISIS路由协议

项目背景 为了确保资源共享、办公自动化和节省人力成本,公司E申请两条专线将深圳总部和广州、北京两家分公司网络连接起来。公司原来运行OSFP路由协议,现打算迁移到IS-IS路由协议,张同学正在该公司实习,为了提高实际工作的准确性和…

【Hadoop实训】Flume系统负载均衡测试

一、搭建并配置Flume机器 在master上,执行: scp -r /export/servers/flume slave1:/export/servers/scp -r /export/servers/flume slave2:/export/servers/scp /etc/profile slave1:/etc/profilescp /etc/profile slave2:/etc/profile 执行完上述指令后…

Java中的线程安全问题(如果想知道Java中有关线程安全问题的基本知识,那么只看这一篇就足够了!)

前言:多线程编程已经广泛开始使用,其可以充分利用系统资源来提升效率,但是线程安全问题也随之出现,它直接影响了程序的正确性和稳定性,需要对其进行深入的理解与解决。 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨✨想要了解…

2024 CSS保姆级教程二 - BFC详解

前言 - CSS中的文档流 在介绍BFC之前,需要先给大家介绍一下文档流。​ 我们常说的文档流其实分为定位流、浮动流、普通流三种。​ ​ 1. 绝对定位(Absolute positioning)​ 如果元素的属性 position 为 absolute 或 fixed,它就是一个绝对定位元素。​ 在…

在 Spring Boot 中实时监控 Redis 命令流

前言 在 Redis 的日常使用和调试中,监控命令流有助于我们更好地理解 Redis 的工作状态。Redis 提供了 MONITOR 命令,可以实时输出 Redis 中所有客户端的命令请求,这一功能在调试和分析性能时非常有帮助。在 Spring Boot 项目中,我…

ReadKidz | 一个生成儿童故事绘本的平台

AI创作丨使用ReadKidz快速生成儿童故事绘本 ReadKidz 是一款AI平台,专为快速创作儿童故事绘本而设计。用户仅需输入简单提示词并根据喜好进行选择,便能生成精美的个性化绘本,适合家长、教师或创作者为孩子们创建有趣且富教育意义的故事。 使用…

aosp15系统窗口闪屏原生bug-dim图层相关-你会修改吗?

背景 近期各个大厂已经开始准备aosp15的系统rom适配工作了,应该是想2025年初开发发布相关的新机型,所以慢慢的我们也要开始适应aosp15版本的相关问题的修改和研究哈。 近期就有相关学员朋友在做android15相关的dialog开发时候,发现了一个严…

UML统一建模语言,学习笔记

目录 一、UML 的概述 二、UML 的主要图形类型 1. 类图 2. 对象图 3. 用例图 4. 序列图 5. 协作图 6. 状态图 7. 活动图 三、UML 的关系 1. 继承 2. 实现 3. 关联 4. 聚合 5. 组合 四、UML 的应用场景 1. 软件设计系统 2. 需求分析 3. 项目文档化 4. 团队协…

133.鸿蒙基础01

鸿蒙基础 1.自定义构建函数1. 构建函数-[Builder ](/Builder )2. 构建函数-传参传递(单向)3. 构建函数-传递参数(双向)4. 构建函数-传递参数练习5. 构建函数-[BuilderParam ](/BuilderParam ) 传递UI 2.组件状态共享1. 状态共享-父子单向2. 状态共享-父子双向3. 状态共享-后代组…

uniapp组件样式运行至小程序失效

文章目录 一、uniapp样式穿透打包运行至微信小程序失效 一、uniapp样式穿透打包运行至微信小程序失效 组件样式隔离文章参考 解决方案 options: {styleIsolation: "shared",},这个配置项改变了小程序组件的样式隔离模式,使得组件的样式能够共享和继承。…

在服务器里安装2个conda

1、安装新的conda 下载地址:Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 本文选择:Anaconda3-2023.03-1-Linux-x86_64.sh 安装:Ubuntu安装Anaconda详细步骤(Ubuntu22.04.1&#xff…