HarmonyOS UI问题

list子控件item不等高,左侧线通过Divider方式创建,目前存在问题为Divider需要给具体长度,是否能使Divider根据item高度自适应?

HarmonyOS UI问题 -鸿蒙开发者社区

HarmonyOS
2024-12-25 13:24:27
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

参考以下示例:

interface DList {
  id: number
  textContent: string
  time: string
  icon: Resource
  isPassed: Boolean
  isCurrent: Boolean
}

@Entry
@Component
struct DemoList {
  @State list: DList[] = [
    {
      id: 1,
      textContent: '当列表项高度(宽度)超出屏幕高度(宽度)时,列表可以沿垂直(水平)方向滚动。在页面内容很多时,若用户需快速定位,可拖拽滚动条,如下图所示。当列表项高度(宽度)超出屏幕高度(宽度)时,列表可以沿垂直(水平)方向滚动。在页面内容很多时,若用户需快速定位,可拖拽滚动条,如下图所示。',
      time: '15:01',
      icon: $r('app.media.startIcon'),
      isPassed: true,
      isCurrent: false
    },
    {
      id: 2,
      textContent: '当列表项高度(宽度)超出屏幕高度(宽度)时,列表可以沿垂直(水平)方向滚动。',
      time: '15:02',
      icon: $r('app.media.startIcon'),
      isPassed: false,
      isCurrent: true
    },
    {
      id: 3,
      textContent: '当列表项高度(宽度)超出屏幕高度(宽度)时,列表可以沿垂直(水平)方向滚动。在页面内容很多时,若用户需快速定位,可拖拽滚动条,如下图所示。当列表项高度(宽度)超出屏幕高度(宽度)时,列表可以沿垂直(水平)方向滚动。在页面内容很多时,若用户需快速定位,可拖拽滚动条,如下图所示。',
      time: '15:03',
      icon: $r('app.media.startIcon'),
      isPassed: false,
      isCurrent: false
    },
    {
      id: 4,
      textContent: '当列表项高度(宽度)超出屏幕高度(宽度)时,列表可以沿垂直(水平)方向滚动。',
      time: '15:04',
      icon: $r('app.media.startIcon'),
      isPassed: false,
      isCurrent: false
    },
  ]
  @State listLength: Number = this.list.length;

  build() {
    Column() {
      List() {
        ForEach(this.list, (item: DList) => {
          ListItem() {
            Column() {
              Row() {
                Image(item.isPassed || item.isCurrent ? $r('app.media.startIcon') : $r('app.media.startIcon'))
                  .width(item.isCurrent ? 16 : 10)
                  .height(item.isCurrent ? 16 : 10)
                  .margin({ right: item.isCurrent ? 8 : 5 })
                Text(item.time)
              }.margin({ left: item.isCurrent ? -8 : -5 })

              Column() {
                Row() {
                  Text() {
                    Span(item.textContent)
                    ImageSpan(item.icon)
                      .width(20)
                      .height(20)
                      .verticalAlign(ImageSpanAlignment.BOTTOM)
                  }
                }
                .padding({ left: 10 })
              }
              .border({
                width: { left: item.id == this.listLength ? 0 : 1 },
                color: item.isPassed ? '#e3bbbb' : '#dddddd'
              })
            }
            .alignItems(HorizontalAlign.Start)
            .width('80%')
            .margin({ bottom: 10 })
          }
        })
      }.alignListItem(ListItemAlign.Center)
    }
  }
}
分享
微博
QQ
微信
回复
2024-12-25 16:03:53
相关问题
HarmonyOS UI布局问题
708浏览 • 1回复 待解决
HarmonyOS LazyForEach问题刷新UI问题
371浏览 • 1回复 待解决
HarmonyOS ui自适应问题
172浏览 • 1回复 待解决
HarmonyOS UI 单位适配问题
541浏览 • 1回复 待解决
HarmonyOS UI测试框架问题
381浏览 • 1回复 待解决
HarmonyOS UI测试API问题
311浏览 • 1回复 待解决
HarmonyOS Slider UI展示问题
776浏览 • 1回复 待解决
HarmonyOS UI组件使用问题
266浏览 • 1回复 待解决
HarmonyOS 开发ui图尺寸问题
256浏览 • 1回复 待解决
HarmonyOS UI不刷新问题
317浏览 • 1回复 待解决
HarmonyOS UI 未刷新问题
833浏览 • 0回复 待解决
HarmonyOS @Builder UI刷新问题
249浏览 • 1回复 待解决
HarmonyOS UI内部使用AppStorage问题
636浏览 • 1回复 待解决
HarmonyOS UI布局水平居中问题
356浏览 • 1回复 待解决
HarmonyOS 原生应用的UI设计问题
726浏览 • 1回复 待解决
HarmonyOS Flex组件存在问题UI不对
298浏览 • 1回复 待解决
HarmonyOS 关于ui布局问题 --胡宏松
176浏览 • 1回复 待解决
关于Java UI Checkbox的问题?
6267浏览 • 1回复 待解决
HarmonyOS QT商业版UI问题和诉求
140浏览 • 1回复 待解决
HarmonyOS 一个UI 优化方面的问题
588浏览 • 1回复 待解决
状态装饰器 ui不刷新的问题
2631浏览 • 1回复 待解决
关于 JS UI 开发的应用的问题
6083浏览 • 1回复 待解决
关于Java UI拖拽式开发的问题
6279浏览 • 1回复 待解决
提问
该提问已有0人参与 ,帮助了0人