五、ArkUI界面设计4(进阶布局)

鸿蒙开发笔记(十七): 列表 List 鸿蒙os中List列表组件的使用 阅读详情

1. 列表 List

列表是一种复杂的容器,当列表项达到一定数量,内容超过屏幕大小时,可以自动提供滚动功能。它适合用于呈现同类数据类型或数据类型集,例如图片和文本。在列表中显示数据集合是许多应用程序中的常见要求(如通讯录、音乐列表、购物清单等)。

使用列表可以轻松高效地显示结构化、可滚动的信息。通过在list组件中按垂直或者水平方向线性排列子组件。

列表作为一种容器,会自动按其滚动方向排列子组件,向列表中添加组件或从列表中移除组件会重新排列子组件。

垂直滚动列表

水平滚动列表

List表示列表容器,ListItem表示单个列表项,可以包含单个子组件。

1.1 基本使用

基本使用:

List() {
listItem() {}
 .....
}

示例代码:

@Entry
@Component
struct Index {
  build() {
    List({space:5}){
      ListItem(){
        Text('List滚动测试1')
          .width(120)
          .height(60)
          .backgroundColor(Color.Orange)
          .padding(10)
      }
      //中间重复代码省略
    }
    .padding(5)
  }
}

预览器效果:

1.2 开发布局

1.2.1 设置主轴方向 listDirection

List组件主轴默认为垂直方向Vertical,可通过listDirection属性改变主轴方向为水平Horizontal。

属性listDirection的参数为枚举Axis。

将上述1.1示例列表主轴方向变为水平

代码实现:

@Entry
@Component
struct Index {
  build() {
    List({space:5}){
      ListItem(){
        Text('List滚动测试1')
          .width(120)
          .height(60)
          .backgroundColor(Color.Orange)
          .padding(10)
      }
      //中间重复代码省略
    }
    .listDirection(Axis.Horizontal)
    .padding(5)
  }
}

预览器效果:

1.2.2 设置交叉轴布局

1.2.2.1 列模式 lanes

 lanes(交叉轴方向列数,交叉轴方向列间距)

List() {
 listItem()
 ......
}
// 参数1:交叉轴⽅向列数
// 参数2: 交叉轴⽅向列间距
 .lanes(3, 10)

示例代码:

@Entry
@Component
struct Index {
  build() {
    Column({ space: 10 }) {
      List({ space: 5 }) {
        ListItem() {
          Text('List滚动测试1')
            .width(120)
            .height(60)
            .backgroundColor(Color.Orange)
            .padding(10)
        }

        //中间重复代码省略
      }
      .height(200)
      //list主轴方向为垂直,默认值;交叉轴方向则为水平
      .listDirection(Axis.Vertical)
      .padding(5)
      .backgroundColor(Color.Gray)
      //交叉轴方向为2列
      .lanes(2)

      List({ space: 5 }) {
        ListItem() {
          Text('List滚动测试1')
            .width(120)
            .height(60)
            .backgroundColor(Color.Orange)
            .padding(10)
        }

        //中间重复代码省略
      }
      .height(200)
      //设置list主轴方向为水平;交叉轴方向则为垂直
      .listDirection(Axis.Horizontal)
      .padding(5)
      .backgroundColor(Color.Gray)
      //交叉轴方向为2行
      .lanes(2)
    }
  }
}

预览器效果:

1.2.2.2 列对齐方式 alignListItem

此属性参数为枚举ListItemAlign;Start、Center、End。

示例代码:

@Entry
@Component
struct Index {
  build() {
    Column({ space: 10 }) {
      List({ space: 5 }) {
        ListItem() {
          Text('List滚动测试1')
            .width(120)
            .height(60)
            .backgroundColor(Color.Orange)
            .padding(10)
        }

        //中间重复代码省略
      }
      .height(200)
      //交叉轴默认对齐方式为首部对齐
      .alignListItem(ListItemAlign.Start)
      //list主轴方向为垂直,默认值;交叉轴方向则为水平
      .listDirection(Axis.Vertical)
      .padding(5)
      .backgroundColor(Color.Gray)
      //交叉轴方向为2列
      .lanes(2)

      List({ space: 5 }) {
        ListItem() {
          Text('List滚动测试1')
            .width(120)
            .height(60)
            .backgroundColor(Color.Orange)
            .padding(10)
        }

        //中间重复代码省略
      }
      .height(200)
      //设置交叉轴对齐方式为居中
      .alignListItem(ListItemAlign.Center)
      //list主轴方向为垂直,默认值;交叉轴方向则为水平
      .listDirection(Axis.Vertical)
      .padding(5)
      .backgroundColor(Color.Gray)
      //交叉轴方向为2列
      .lanes(2)

      List({ space: 5 }) {
        ListItem() {
          Text('List滚动测试1')
            .width(120)
            .height(60)
            .backgroundColor(Color.Orange)
            .padding(10)
        }

        //中间重复代码省略
      }
      .height(200)
      //设置交叉轴对齐方式为尾部对齐
      .alignListItem(ListItemAlign.End)
      //list主轴方向为垂直,默认值;交叉轴方向则为水平
      .listDirection(Axis.Vertical)
      .padding(5)
      .backgroundColor(Color.Gray)
      //交叉轴方向为2列
      .lanes(2)
    }
  }
}

预览器效果:

1.3 自定义列表样式

1.3.1 滚动条状态 scrollBar

属性scrollBar的参数为枚举BarState;Off不显示、On常驻显示、Auto触摸时显示。

//默认,滚动条按需显示(触摸时显示,2s后消失)
      .scrollBar(BarState.Auto)

//滚动条不显示
      .scrollBar(BarState.Off)

//滚动条常驻显示
      .scrollBar(BarState.On)

1.3.2 分割线样式 divider

列表默认没有分割线

属性:divider()
参数:{ strokeWidth: 数字, color?: 'color', startMargin?: 数字, endMargin?: 数字 }

示例代码:
@Entry
@Component
struct Index {
  build() {
    Column(){
      List({ space: 10 }) {
        ListItem() {
          Text('List滚动测试1')
            .width(120)
            .height(60)
            .backgroundColor(Color.Orange)
            .padding(10)
        }

       //中间重复代码省略
      }
      .height(200)
      //list主轴方向为垂直,默认值;交叉轴方向则为水平
      .listDirection(Axis.Vertical)
      .padding(5)
      .backgroundColor(Color.Gray)
      //交叉轴方向为2列
      .lanes(2)
      //分割线divider
      .divider({
        strokeWidth:2,
        color:Color.Blue,
        startMargin:10,
        endMargin:10
      }
      )
    }
  }
}

预览器效果:


241010

2. 综合案例-京东频道列表

示例代码:

@Entry
@Component
struct Index {
  build() {
    Column(){
      //5.2 综合案例-京东频道列表
      /*布局思路:
       可滑动列表,主轴为水平方向,交叉轴布局为两行,滚动条隐藏
       */
      List() {
        ListItem() {
          Column({space:5}) {
            Image($r('app.media.chaoshi'))
              .height(25)
            Text('京东超市')
              .fontSize(14)
              .fontColor('#727070')
          }
        }
        .width('20%')

        ListItem() {
          Column({space:5}) {
            Image($r('app.media.fushi'))
              .height(25)
            Text('美妆服饰')
              .fontSize(14)
              .fontColor('#727070')
          }
        }
        .width('20%')

        //中间重复代码省略

        ListItem() {
          Column({space:5}) {
            Image($r('app.media.gengduo'))
              .height(25)
            Text('更多频道')
              .fontSize(14)
              .fontColor('#727070')
          }
        }
        .width('20%')

      }
      .width('100%')
      .height(120)
      .listDirection(Axis.Horizontal)
      .lanes(2)
      .scrollBar(BarState.Off)
      .backgroundColor(Color.White)
      .alignListItem(ListItemAlign.Center)
      // .padding({top:5})
    }
    .height('100%')
    .backgroundColor('#ededed')
    .padding(10)
  }
}

预览器效果:

3. 通用属性

3.1 颜色渐变

作用:设置组件颜色渐变效果;分为线性渐变和径向渐变。

3.1.1 线性渐变 linearGradient

{
angle?: 线性渐变的起始⻆度,
direction?: 线性渐变的⽅向,
colors: [[颜⾊1, 颜⾊1所处位置], [颜⾊2, 颜⾊2所处位置], ......],
repeating?: 是否重复着⾊
}

angle:线性渐变的起始角度。0点方向顺时针旋转为正向角度,默认值为180;

direction:线性渐变的方向,设置angle后不生效,值为枚举类型GradientDirection。例.Left

渐变方向为向左。

示例代码:

@Entry
@Component
struct Index {
  build() {
    Column(){
      //线性渐变test
      Text('linearGradient')
        .width(200)
        .height(100)
        .backgroundColor(Color.Red)
        .linearGradient({
          //渐变方向,默认为从上到下
          direction:GradientDirection.Right,
          colors:[['#f00',0],['#fc0',0.6]]
        })
    }
    .padding(10)
  }
}

预览器效果:

3.1.2 径向渐变 radialGradient

{
center: 径向渐变的中⼼点坐标,
radius: 径向渐变的半径,
colors: [[颜⾊1, 颜⾊1所处位置], [颜⾊2, 颜⾊2所处位置], ......],
repeating?: 是否重复着⾊
}

示例代码:

@Entry
@Component
struct Index {
  build() {
    Column(){
      //径向渐变test
      Text('radialGradient')
        .width(200)
        .height(100)
        .backgroundColor(Color.Blue)
        .radialGradient({
          center:[100,10],
          radius:80,
          colors:[
            ['rgba(255, 255, 255, 0.6)',0],
            ['rgba(255, 255, 255, 0)',1]
          ]
        })

    }
    .padding(10)
  }
}

预览器效果:

3.2 阴影 shadow

作用:为组件添加阴影效果。

{
 radius: 模糊半径,
 type?: 阴影类型,
 color?: 阴影颜⾊,
 offsetX?: X轴偏移,
 offsetY?: Y轴偏移,
 fill?: 是否内部填充
}

示例代码:

@Entry
@Component
struct Index {
  build() {
    Column(){
      //阴影shadow test
      Text('radialGradient')
        .width(200)
        .height(100)
        //为组件添加阴影效果
        .shadow({
          //模糊半径
          radius:10,
          //阴影类型
          type:ShadowType.COLOR,
          //阴影颜色
          color:'rgba(0,0,0,0.5)',
          //X轴偏移
          offsetX:5,
          //Y轴偏移
          offsetY:5
        })

    }
    .padding(10)
  }
}

预览器效果:

3.3 多态样式 stateStyles

.stateStyles({
 状态: {
 属性
 }
})
参数描述
normal无状态时(默认状态)
pressed按下状态时
disabled禁用状态时
focused获焦状态时
clicked点击状态时

示例代码:

@Entry
@Component
struct Index {
  build() {
    Column(){
      Text('radialGradient')
        .width(200)
        .height(100)
        .backgroundColor(Color.Pink)
        //多态样式
        .stateStyles({
          pressed:{
            .width(300)
        }
        })

    }
    .padding(10)
  }
}

预览器效果:

3.4 动画 animation

组件的某些通⽤属性变化时,可以通过属性动画实现渐变过渡效果,提升⽤户体验。⽀持的属性包
括width、height、backgroundColor、opacity、scale、rotate、translate等。
参数描述
duration设置动画时长,默认1000,单位毫秒
curve设置动画曲线,默认Curve.EaseInOut
delay设置动画延迟执行的时长,默认0不延迟,单位毫秒
iterations设置播放次数,默认1,-1为无限播放,0为无动画效果。

示例代码:

@Entry
@Component
struct Index {
  build() {
    Column(){
      Text('radialGradient')
        .width(200)
        .height(100)
        .backgroundColor(Color.Pink)
        .stateStyles({
          pressed:{
            .width(300)
          }
        })
        //动画,设置动画变化时长为1000毫秒
        .animation({
          duration:1000
        })
    }
    .padding(10)
  }
}

预览器效果:

3.5 图形变换

⽤于对组件进⾏平移、旋转、缩放、矩阵变换等操作。

3.5.1 平移 translate

作⽤:可使组件在以组件左上⻆为坐标原点的坐标系中进⾏移动

参数:{x?: X轴移动距离, y?: Y轴移动距离, z?: Z轴移动距离}

示例代码:

@Entry
@Component
struct Index {
  build() {
    Column(){
      Text('文字')
        .width(200)
        .height(100)
        .backgroundColor(Color.Pink)
        .stateStyles({
          clicked:{
            .width(300)
            //组件平移translate,“100%”是相对于自身的
            //默认为向右向下平移,加“-”可实现向左向上平移
            .translate({
              x:'50%',
              y:'200'
            })
          }
        })
    }
    .padding(10)
  }
}

预览器:


241013

3.5.2 缩放 scale

作用:分别设置X轴、Y轴、Z轴的缩放比例,默认值为1。

@Entry
@Component
struct Index {
  build() {
    Column(){
      Text('缩放scale')
        .textAlign(TextAlign.Center)
        .width(200)
        .height(100)
        .stateStyles({
          // 设置默认状态时
          normal:{
            .backgroundColor(Color.Pink)
            .scale({x:1,y:1})
          },
          // 设置点击状态时
          clicked:{
            .backgroundColor(Color.Blue)
            // 设置点击状态时缩放效果
            .scale({x:0.5,y:0.5})
          }
        })
        // 设置动画变换时长为2s
        .animation({
          duration:2000,
        })
    }
    .padding(10)
  }
}

3.5.3 旋转 rotate

作用:可使组件在以自身左上角为坐标原点的坐标系中进行旋转。

@Entry
@Component
struct Index {
  build() {
    Column(){
      Text('缩放scale')
        .textAlign(TextAlign.Center)
        .width(200)
        .height(100)
        .stateStyles({
          // 设置默认状态时
          normal:{
            .backgroundColor(Color.Pink)
            .scale({x:1,y:1})
            // 旋转
            .rotate({ angle:0 })
          },
          // 设置点击状态时
          clicked:{
            .backgroundColor(Color.Blue)
            // 设置点击状态时缩放效果
            .scale({x:0.5,y:0.5})
            .rotate({ angle:49 })
          }
        })
        // 设置动画变换时长为2s
        .animation({
          duration:2000,
        })
    }
    .padding(30)
  }
}

4. 综合案例-微店卡片

Text 组件可作为容器组件使用,里面可以放行内图片ImageSpan和行内文字Span,ImageSpan不能设置fillColor,Text不能使用Space。

代码:

import { curves } from '@kit.ArkUI'

@Entry
@Component
struct Index {
  build() {
    Column() {
      // 微店卡片
      /*布局思路
        总体垂直布局:图片、文字、row(图片、文字、图标、文字)。
        外加按压卡片时的缩放效果
       */
      Column({ space: 10 }) {
        Image($r('app.media.actor'))
          .width('100%')
          .borderRadius(10)

        Text('看到游本昌年轻时候,终于知道他为啥看见胡歌眼泛泪光,两人真的好像啊,谁看见年轻时候不会感慨万千呢?')
          .width('100%')
          .fontSize(13)
          .fontColor('#898989')
          .maxLines(2)
          .padding({ left: 5, right: 5 })
          .textOverflow({ overflow: TextOverflow.Ellipsis })

        Row() {
          // 左侧
          Text(){
            // 行内图片
            ImageSpan($r('app.media.avatar'))
              .height(20)
              .aspectRatio(1)
              .borderRadius(10)
              .margin({right:5})

            // 行内文本
            Span('娱小鱼')
              .fontSize(15)
              .fontColor('#898989')
          }

          /*Row({ space: 5 }) {
            Image($r('app.media.avatar'))
              .height(20)
              .aspectRatio(1)
              .borderRadius(10)
            Text('娱小鱼')
              .fontColor('#898989')
              .fontSize(15)
          }*/

          // 右侧
          Text(){
            ImageSpan($r('app.media.ic_browse'))
              .height(20)
              .margin({right:5})
            Span('6万')
              .fontSize(15)
              .fontColor('#898989')
          }
          /*Row({ space: 5 }) {
            Image($r('app.media.ic_browse'))
              .height(20)
            Text('6万')
              .fontSize(15)
              .fontColor('#898989')
          }*/
        }
        .width('100%')
        .justifyContent(FlexAlign.SpaceBetween)

      }
      .width(200)
      .padding(5)
      // 给卡片加阴影
      .shadow({
        //模糊半径
        radius: 10,
        //阴影类型
        type: ShadowType.COLOR,
        //阴影颜色
        color: 'rgba(0,0,0,0.5)',
      })
      // 给整个卡片加动态效果
      .stateStyles({
        normal: {
          .scale({ x: 1, y: 1 })
        },
        clicked: {
          .scale({ x: 0.95, y: 0.95 })
        }
      })
      .animation({
        duration: 500,
        // 设置动画曲线
        curve:curves.springMotion()
      })

      // .backgroundColor(Color.Pink)
    }
    .padding(10)
  }
}

预览器:

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Divider组件 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Divider组件。 阅读详情

相关推荐

鸿蒙ArkUI之【如何选择布局?】

声明式UI提供了以下9种常见布局,开发者可根据实际应用场景选择合适的布局进行页面开发。position、offset等属性影响了布局容器相对于自身或其他组件的位置。

m0_62167422的博客 1486

鸿蒙OpenHarmony【ColumnSplit】ArkTS栅格与分栏

将子组件纵向布局,并在每个子组件之间插入一根横向的分割线。

wodefa9527的博客 506

鸿蒙(HarmonyOS)ArkUI布局优化指南~

DevEco Studio内置ArkUI Inspector工具,开发者可以使用ArkUI Inspector,在DevEco Studio上查看应用在真机上的UI显示效果。利用ArkUI Inspector工具,开发者可以快速定位布局不理想或其他UI相关问题,同时也可以观察和了解不同组件之间的布局关系和属性。鸿蒙战略胜利,目前鸿蒙开发是一个急需要人才的缺口,在未来几年势必会有大量的鸿蒙岗位出现,目前所存在的鸿蒙岗位也是给出了相当高的薪资。事实证明,鸿蒙开发确实是一块香饽饽。

weixin_48091641的博客 1591

LISTVIew 加分割线,scrollbar样式 以及其他

分割线样式文件:        xmlns:android="http://schemas.android.com/apk/res/android">                                                  android:startColor="#000000"                    android:center

casun_li的专栏 1111

鸿蒙开发基础 —— ArkUI 页面布局解析

为实现上述效果,开发者需要在页面中声明对应的元素。针对不同的页面结构,ArkUI提供了不同的布局组件来帮助开发者实现对应布局的效果,例如Row用于实现线性布局。组件按照布局的要求依次排列,构成应用的页面。在声明式UI中,所有的页面都是由自定义组件构成,开发者可以根据自己的需求,选择合适的布局进行页面开发。布局指用特定的组件或者属性来管理用户页面所放置UI组件的大小和位置。声明式UI提供了以下10种常见布局,开发者可根据实际应用场景选择合适的布局进行页面开发。布局相关的容器组件可形成对应的布局效果。

guangxishaoji的博客 784

【鸿蒙基于API 13实战开发】—— ArkUI 页面布局解析

组件按照布局的要求依次排列,构成应用的页面。在声明式UI中,所有的页面都是由自定义组件构成,开发者可以根据自己的需求,选择合适的布局进行页面开发。布局指用特定的组件或者属性来管理用户页面所放置UI组件的大小和位置。

shangkangba的博客 987

鸿蒙ArkUI布局与样式进阶(四)——从 Column 到 Grid,一篇搞懂常用布局(含实战案例与逐行注释)

本文系统介绍了鸿蒙ArkUI六大核心布局:Column(垂直布局)、Row(水平布局)、Flex(弹性布局)、Position(绝对定位)、Stack(层叠布局)和Grid(网格布局)。通过生动的比喻和详细代码示例,解析了每种布局的特点、参数说明和适用场景,并提供了综合实战案例和对比总结表。文章特别指出:Position需谨慎使用,Flex嵌套要注意性能,建议先用Row/Column搭骨架,再用Flex/Stack微调。掌握这些布局可满足80%的UI开发需求,是构建电商首页、视频推荐页等复杂界面的关键。

2502_91577682的博客 1897

鸿蒙开发基础 —— ArkUI 页面布局(相对布局 (RelativeContainer))

在应用的开发过程中,经常需要设计复杂界面,此时涉及到多个相同或不同组件之间的嵌套。如果布局组件嵌套深度过深,或者嵌套组件数过多,会带来额外的开销。如果在布局的方式上进行优化,就可以有效的提升性能,减少时间开销。RelativeContainer为采用相对布局的容器,支持容器内部的子元素设置相对位置关系,适用于界面复杂场景的情况,对多个子组件进行对齐和排列。子元素支持指定兄弟元素作为锚点,也支持指定父容器作为锚点,基于锚点做相对位置布局。

guangxishaoji的博客 835

ArkUI进阶-2

ArkUI(方舟UI框架)为应用的UI开发提供了完整的基础设施,包括简洁的UI语法、丰富的UI功能(组件、布局、动画以及交互事件),以及实时界面预览工具等,可以支持开发者进行可视化界面开发。(将根据概述的点进行总结)ArkTSArkTS是优选的主力应用开发语言,围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展。扩展能力包含声明式UI描述、自定义组件、动态扩展UI元素、状态管理和渲染控制。

weixin_67448099的博客 1448

HarmonyOS 开发探索: ArkUI常用样式布局

ArkUI支持多种布局方式,包括但不限于Column、Row、Stack、Flex等。

DMZDAMS的博客 1323

ARKUI布局容器

ForEach遍历生成ListItem的时候,末尾可以用,(item:Object)=>JSON.stringfy(item)作为唯一的key。上面那四个点的图标,是因为menus数组里面超出3个了,所以用这个图标代替,点击的时候弹出来弹框,来进行选择操作。通过stack组件可以实现子元素的固定定位和层叠,子元素依次入栈,后面的覆盖前面的。Flex容器的子组件排列方式可以从左到右,也可以从右到左,从上到下,从下到上。当warp是true的情况下,则是多行,涉及多行的对齐方式。

qq_36197716的博客 817

鸿蒙4.0应用开发——ArkUI基本布局

组件按照布局的要求依次排列,构成应用的页面。在声明式UI中,所有的页面都是由自定义组件构成,开发者可以根据自己的需求,选择合适的布局进行页面开发。布局指用特定的组件或者属性来管理用户页面所放置UI组件的大小和位置。在实际的开发过程中,需要遵守以下流程保证整体的布局效果:确定页面的布局结构。分析页面中的元素构成。选用适合的布局容器组件或属性控制页面中各个元素的位置和大小。组件:必备属性 功能属性 位置属性。

高心星的专栏 2126

SuperMap iObjects Java组件开发——环境部署(IntelliJ IDEA)

SuperMap iObjects Java 是面向GIS应用系统开发者的组件式GIS开发平台,具有强大的地理数据管理、编辑、显示、分析等功能,并且其具有极强的易用性和丰富的帮助资源,适宜快速开发大型GIS应用系统。本文将介绍如何在IntelliJ IDEA集成开发环境中进行SuperMap iObjects Java组件的环境部署。

nan620403的博客 1081

HarmonyOS6.0开发之ArkUI & 鸿蒙布局:从“写注释”到“搭界面”,新手也能玩转APP界面设计

摘要:本文由资深程序员Feri分享鸿蒙开发中的ArkUI注释与基础布局技巧。文章将APP开发比作搭积木,ArkUI作为工具箱提供组件(积木)、布局(图纸)和注释(便利贴)。重点讲解三种注释写法(单行、多行、文档注释)和六种基础布局类型,特别是线性布局(Row/Column)的实战应用。通过"顶部导航栏"和"登录界面"两个实例,演示如何使用Row实现水平排列和Column实现垂直排列,并强调布局嵌套原则和开发技巧(设宽高、组件封装、先搭骨架)。适合新手快速掌握界面开发基

程序员Feri 1712

endnote让参考文献整整齐齐

这篇文章主要是针对利用 endnote 插入参考文献时,参考文献第一行和后面的行对不齐的问题 下面是示意图 可以看到我们的参考文献对的整整齐齐的,比较好看。 下面介绍具体步骤 1、打开endnote。编辑我们使用的参考文献样式。我这儿是叫 ZZ_MODIFIED_GEEBINF 复制 2、找到布局,每个参考开头,将光标放在在参考开头后面,点插入字段,制表符 3、右下角悬挂式输出哪儿选择全部段...

雾隐雾现的至渝博客 5万+

【OpenCV3】cv::compare()使用详解

cv::compare()主要用于两个图像之间进行逐像素的比较,并输出比较的结果。具体用法如下: cv::compare() bool cv::compare( cv::InputArray src1, // 输入数组1 cv::InputArray src2, // 输入数组2 cv::OutputArray dst, // 输出数组 int cmpop // 比较操作子,见下表 ...

guduruyu的专栏 9761

【HarmonyOS】ArkUI 布局与容器组件

在 HarmonyOS 应用开发中,优秀的界面布局是用户体验的基础。ArkUI 作为新一代声明式 UI 开发框架,提供了丰富多样的布局组件和容器组件,帮助开发者高效构建复杂界面。本文将系统性地介绍 ArkUI 的核心布局方式,包括线性布局、层叠布局、弹性布局等基础布局,以及列表、轮播、选项卡等高级容器组件。Swiper() {.aspectRatio(2) //宽高比为2Indicator.dot()// 小圆点.itemWidth(20)// 默认的宽.itemHeight(20)//默认的高。

2401_88174794的博客 1007

人工智能机器学习从入门到高级学习资料(含资料下载地址)

机器学习是一个技术含量较高的领域,高效学习需要多种途径相结合.以下是一些推荐的学习资源。首先介绍几个比较有用的社区,包含了丰富的学习资料

2401_86900375的博客 1647

四、ArkUI界面设计3(高级布局)

弹性布局、定位、层叠布局及简单案例练习

FXNup的博客 2395

当知识图谱遇见多模态:突破文本界限的智能认知革命

本文探讨了知识图谱与多模态技术的融合,揭示了其在医疗诊断、文化保护等领域的革命性应用。通过图神经网络、对比学习框架和跨模态注意力机制等技术,实现了文本、图像和音频数据的智能关联与认知。文章还分享了在Neo4j等图数据库中的实践案例和优化策略,为构建下一代智能认知系统提供了技术参考。

weixin_29197835的博客 464

AI学习指南RAG篇(19)-API调用与集成

通过上述API调用示例,您可以方便地将RAGFlow与其他系统集成,实现数据集管理、文档处理、会话管理等功能。希望本文的介绍能帮助您更好地理解和使用RAGFlow的API。

俞兆鹏的博客 2546

ArkUI进阶-1

ArkUI(方舟UI框架)为应用的UI开发提供了完整的基础设施,包括简洁的UI语法、丰富的UI功能(组件、布局、动画以及交互事件),以及实时界面预览工具等,可以支持开发者进行可视化界面开发。(将根据概述的点进行总结)ArkTSArkTS是优选的主力应用开发语言,围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展。扩展能力包含声明式UI描述、自定义组件、动态扩展UI元素、状态管理和渲染控制。

weixin_67448099的博客 1790

【漏洞复现】永恒之蓝 MS17-010 远程溢出漏洞(CVE-2017-0143)

文章目录声明前言一、漏洞原理简述二、漏洞代码深层解析三、实验步骤四、漏洞补丁总结 声明 本篇文章仅用于技术研究与技术学习,切勿用于非授权下攻击行为,切记! 前言 Windows7 存在 MS17-010 永恒之蓝(远程溢出漏洞) ,该漏洞是方程式组织在其漏洞利用框架中一个针对SMB服务进行攻击的漏洞,该漏洞导致攻击者在目标系统上可以执行任意代码 一、漏洞原理简述 MS17-010漏洞出现在Windows SMB v1中的内核态函数 srv!SrvOs2FeaListToNt 在处理FEA(File Ex

李同學AI安全 9627

ArkUI揭秘:掌控子元素布局的魔法

在移动应用开发的广袤领域中,ArkUI 凭借其独特而强大的功能,为开发者们开启了一扇通往高效、精美界面构建的大门。通过深入探究 ArkUI 对子元素的约束以及布局位置的控制,我们清晰地认识到其在打造优质用户界面过程中所发挥的关键作用。对子元素的约束,如拉伸、缩放、占比和隐藏等功能,赋予了开发者精确掌控界面元素呈现的能力。拉伸约束让组件能够灵活适应容器尺寸的变化,确保布局在不同屏幕条件下都能保持合理与美观;缩放约束则巧妙地维持了组件的固定宽高比,有效避免了图像失真等问题,为用户呈现出始终如一的视觉效果;

大雨淅淅的博客 1336

详解Linux下使用vscode编译运行和调试C/C++

本教程将具体详解使用Visual Studio Code在Linux环境下使用C/C++方法。 GCC C++ 编译器 (g++) 和 GDB 调试器的方法。 GCC是GNU 编译器集合; GDB 是 GNU 调试器。 1.先决条件 安装Visual Studio Code. 安装C++拓展插件。点击在vscode界面最左侧的Extensions图标(打开快捷键:ctrl+shift+X),搜索“C/C++”,点击进行安装。 确保已安装gcc. 一般ubuntu系统会预装gcc.在终端窗口中输入如下命令

休的博客 6241

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

HarmonyOS应用基础阶段- 08、ArkUI框架—布局进阶

摘要: 本文介绍了ArkUI中的层叠布局(StackLayout)使用方法。层叠布局通过Stack容器实现子元素的重叠定位,适用于广告、卡片等场景。主要内容包括: 基本使用:Stack默认居中堆叠子元素,可自定义样式; 对齐方式:通过alignContent参数调整子元素对齐位置; Z序控制:zIndex属性控制元素层级,数值越大显示越上层; 综合案例:以B站视频卡片为例,结合层叠布局与Flex布局实现图文混合效果; 通用属性:多态样式(stateStyles)支持组件在不同状态下的样式切换。 附代码示例

分享前端与鸿蒙开发技术、面试题总结 943

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

上一篇: 二、css引入方式、基础选择器(标签 类 通配符)、div、文本属性、背景、css特性(继承 层叠)、复合选择器(后代 伪类hover)、显示模式display
下一篇: 三、div盒子、内外边距及边框线、元素溢出overflow、外边距合并塌陷、行内元素内容垂直、圆角、阴影、渐变
bpmf_fff
博客等级 码龄6年 219粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值