五、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

四足机器人跨楼层轨迹规划:SCAN-Planner-Pure-ROS2开源项目实践指南

在机器人导航领域,路径规划是让机器人从起点安全、高效移动到目标点的核心技术。其原理通常基于环境地图(如占据栅格地图或八叉树地图),通过搜索算法(如A*、RRT*)在配置空间中找到一条无碰撞的可行路径。这项技术的价值在于赋予机器人在复杂、非结构化环境中的自主移动能力,是巡检、救援、物流等应用场景的基石。对于四足机器人而言,其运动能力超越了轮式平台,能在楼梯、斜坡等三维地形中移动,这使得传统的二维规划不再适用,需要专门的三维轨迹规划算法。SCAN-Planner-Pure-ROS2正是这样一个专注于解决四足机器

weixin_30700977的博客 464

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

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

程序员Feri 1712

RTC时钟芯片替换代码移植-IIC通信

1、问题 RTC时钟芯片由爱普生RX-8010SJ更换成大普INS5710A,两者都是IIC通信,更换大普芯片后时钟不走、以及报掉电错误。仿真分析原因是CPU和RTC芯片收发数据延时不够导致,根据爱普生芯片手册,8010收发数据不采取延时,但大普芯片采用同样方式读取不行(需要加延时) 2、RX-8010SJ手册说明(以读取数据为例) (1)寄存器读操作时序图 指定地址读操作: 1)CPU 发送开始条件[S] 2)CPU 传输RX-8010SJ 的从地址,用R/W 位设定写模式 3)检测从RX-8010

weixin_42851683的博客 2066

图像修复黑科技:对比BM3D/DnCNN等5种去噪器在PNP框架中的实战效果

本文深度评测了BM3D、DnCNN等五款主流去噪器在即插即用(PnP)优化框架中的实战表现。通过量化指标、视觉对比及超分等泛化任务测试,揭示了深度学习模型在性能与收敛速度上的优势,并为不同应用场景提供了选型指南与工程化建议。

weixin_29065959的博客 369

【HarmonyOS】ArkUI 布局与容器组件

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

2401_88174794的博客 1007

从零开始讲DDR(7)——modelsim独立仿真DDR4

本文主要内容为DDR4 MIG ip核仿真,modelsim独立仿真DDR4。在进行DDR仿真的时候,我们会面临一个以往常规仿真不存在的问题:DDR本身并不是一个我们通过RTL代码设计出来的部件,常规的模块或者IP仿真,都是基于RTL代码就能进行的,但是回顾一下我们DDR的开发流程,调用的IP核也只是MIG ip,其本质是一个DDRC+DDRPYH的组合,并不能模拟任何DDR本身的行为,因此,在进行仿真之前,我们首先要做的就是获取DDR的仿真模型。

apple_53311083的博客 3226

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

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

FXNup的博客 2395

Android15车载系统开机冷启动流程源码解析

本文主要介绍Android15车机系统开机冷启动的流程,暂不包含bootloader,仅从kernel开始直至Launcher首页展示。

jidapenglin28的专栏 253

手把手教你学Simulink--基于电能质量与无功补偿的场景实例:统一电能质量调节器(UPQC)的联合控制仿真

在现代电力系统中,电能质量问题有源电力滤波器(APF)→ 治理谐波与无功动态电压恢复器(DVR)→ 补偿电压暂降/暂升静止无功发生器(SVG)→ 无功补偿与电压支撑而统一电能质量调节器(Unified Power Quality Conditioner, UPQC)是一种集串联补偿与并联补偿于一体的全能型电能质量治理装置✅ 电压类问题:暂降、暂升、不平衡、闪变✅ 电流类问题:谐波、无功、三相不平衡✅ 实现双向有功交换(储能型)串联单元(DVR功能):串联于线路,控制电源侧电压质量并联单元。

MHD0815的博客 239

ArkUI进阶-1

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

weixin_67448099的博客 1790

【漏洞复现】WordPress Plugin NotificationX 存在sql注入CVE-2024-1698

技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。WordPress和WordPress plugin都是WordPress基金会的产品。WordPress Plugin NotificationX 存在安全漏洞,该漏洞源于对用户提供的参数转义不充分以及对现有 SQL 查询缺乏充分的准备,很容易通过“type”参数受到 SQL 注入攻击。

失心少年 1382

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

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

大雨淅淅的博客 1336

用 CDS View I_APARToleranceGroup 管理客户与供应商收付差异容差:配置语义、字段解读与 ABAP 落地实践

财务共享服务中心常面临小额差异处理的挑战,SAP通过"客户/供应商容差组"机制实现自动清账规则配置。CDS视图I_APARToleranceGroup将配置数据转化为可查询维度,包含宽限天数、固定现金折扣等关键业务参数。该视图支持按公司代码和容差组查询差异处理策略,可用于报表开发、主数据校验和接口合规检查,帮助财务团队高效管理海量小额交易差异,减少手工操作。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 127

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

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

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

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

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

上一篇: 二、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、付费专栏及课程。

余额充值