HarmonyOS 鸿蒙Next 动态文本缩进与图片对齐组件

HarmonyOS 鸿蒙Next 动态文本缩进与图片对齐组件 这个组件主要用于根据右侧图片元素的宽度动态计算并生成左侧文本的前置空格数量,以达到图片和文本内容之间自动对齐的效果。同时,它还展示了多个图像资源,并包含了一些基本的布局和样式设置。

@Entry
@Component
struct test {
  @State arr_01: Resource[] = []
  @State arr_02: string[] = ['', '', '', '']
  @State oneSpaceWidth: number = 0; //一个空格的长度
  build() {
    Column() {
      Text(' ')
        .onAreaChange((oldValue, newValue) => {
          this.oneSpaceWidth = parseFloat('' + newValue.width)
          console.info('=====一个空格的宽度 oneSpaceWidth -->', this.oneSpaceWidth)
          this.arr_01 = [$r("app.media.ic_widget"), $r("app.media.icon"), $r("app.media.icon_2"), $r("app.media.icon_3")] //更新数据
        })
      ForEach(this.arr_01, (item, index) => {
        Row({ space: 10 }) {
          Image($r('app.media.icon'))
            .width('40%')
            .height(80)
            .objectFit(ImageFit.Fill)
            .border({ radius: 10 })
          Stack({ alignContent: Alignment.TopStart }) {
            Text(this.arr_02[index] + '专升本2021华为开发者联盟欢迎您加入开发者大家庭专升本2021华为开发者联盟欢迎您加入开发者大家庭专升本2021华为开发者联盟欢迎您加入开发者大家庭')
              .fontSize(16)
              .fontWeight(FontWeight.Bold)
              .maxLines(2)
              .lineHeight(24)
              .textOverflow({ overflow: TextOverflow.Ellipsis })

            Image(item)
              .height(20)
              .borderRadius(5)
              .onAreaChange((oldValue, newValue) => {
                var viewWidth = parseFloat('' + newValue.width)
                console.info('====item位置 start index', index)
                console.info('====当前要缩进的组件宽度', viewWidth)
                var numSpace = parseInt('' + (viewWidth / this.oneSpaceWidth)) + 1
                console.info('====计算当前要缩进numSpace个空格', numSpace)
                console.info('====计算数组空格数据【' + this.arr_02[index] + '】')
                console.info('====item位置 end')
              })
          }.width('60%')
        }.width('100%')
          .padding({ left: 10, top: 10, right: 20 })
      })
    }
  }
}

更多关于HarmonyOS 鸿蒙Next 动态文本缩进与图片对齐组件的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

多谢lz提供了思路,帮助很大

更多关于HarmonyOS 鸿蒙Next 动态文本缩进与图片对齐组件的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


学习一下,

  • 项目名称: 示例项目
  • 项目描述: 这是一个示例项目,用于演示如何将HTML转换为Markdown。
  • 开发者: 张三
  • 版本: 1.0.0
  • 更新时间: 2023-10-01

多谢多谢,

基本信息

  • 项目名称: 示例项目

  • 项目状态: 已完成

  • 开发者: 张三

  • 联系方式: zhangsan@example.com

  • 项目描述: 这是一个示例项目,用于演示如何将HTML转换为Markdown。

  • 查看详细信息

six six six

在HarmonyOS鸿蒙Next中,动态文本缩进与图片对齐组件是通过ArkUI框架实现的。ArkUI提供了FlexTextImage等组件,开发者可以通过这些组件的属性设置来实现动态文本缩进和图片对齐。例如,使用Flex布局的justifyContentalignItems属性可以控制内容的对齐方式,而Text组件的paddingmargin属性可以用于动态调整文本缩进。Image组件可以通过objectFit属性控制图片的缩放和对齐方式。通过这些组件的组合和属性配置,开发者可以实现复杂的UI布局,满足动态文本缩进与图片对齐的需求。

回到顶部