HarmonyOS UI问题

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

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

HarmonyOS
1天前
浏览
收藏 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
微信
回复
1天前
相关问题
HarmonyOS UI布局问题
422浏览 • 1回复 待解决
HarmonyOS LazyForEach问题刷新UI问题
76浏览 • 1回复 待解决
HarmonyOS UI测试API问题
28浏览 • 1回复 待解决
HarmonyOS UI组件使用问题
27浏览 • 1回复 待解决
HarmonyOS Slider UI展示问题
472浏览 • 1回复 待解决
HarmonyOS UI 单位适配问题
316浏览 • 1回复 待解决
HarmonyOS UI测试框架问题
53浏览 • 1回复 待解决
HarmonyOS UI内部使用AppStorage问题
379浏览 • 1回复 待解决
HarmonyOS UI布局水平居中问题
13浏览 • 1回复 待解决
HarmonyOS 开发ui图尺寸问题
62浏览 • 1回复 待解决
HarmonyOS UI不刷新问题
30浏览 • 1回复 待解决
HarmonyOS @Builder UI刷新问题
36浏览 • 1回复 待解决
HarmonyOS UI 未刷新问题
575浏览 • 0回复 待解决
HarmonyOS Flex组件存在问题UI不对
69浏览 • 1回复 待解决
HarmonyOS 原生应用的UI设计问题
459浏览 • 1回复 待解决
关于Java UI Checkbox的问题?
5873浏览 • 1回复 待解决
HarmonyOS 关于ui布局问题 --胡宏松
56浏览 • 1回复 待解决
HarmonyOS 一个UI 优化方面的问题
363浏览 • 1回复 待解决
状态装饰器 ui不刷新的问题
2476浏览 • 1回复 待解决
关于 JS UI 开发的应用的问题
5716浏览 • 1回复 待解决
关于Java UI拖拽式开发的问题
6082浏览 • 1回复 待解决
Tabs组件自定义导航栏UI问题
845浏览 • 1回复 待解决
APP UI设计标准问题,有人知道吗/
892浏览 • 1回复 待解决
提问
该提问已有0人参与 ,帮助了0人