HarmonyOS 如何实现listItem高度随内容自适应

list里的listItem的高度是由Text的行数动态展示的,单行文本和多行文本的高度不同。请问这种情况如何实现高度listItem的高度自适应。

HarmonyOS
2024-08-30 12:41:52
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

这边提供一个list自适应的demo,您看一下是否能解决您的问题。

@Entry 
@Component 
struct listDemoFirst { 
 private arr: string[] = ['0zkjsajlkhzxxxxxaskhfiu','1','2hsaifuhshjfxxxxxukfhkushvkushiahfuisyujag','3','4','5slkhfvuixxxxlansdkufyslfnsd','6','7','8','9xxxxhnakgcuahkucgyauis']; 
 @State sizeValue: string = ''; 
 
 build() { 
  Row() { 
   List() { 
    ForEach(this.arr, (item: string) => { 
     ListItem() { 
      Text(item) 
       .width('30%').height('auto').fontSize(16) 
       .border({ 
        width : 1 
       }) 
       .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFFFFFF) 
       .onAreaChange((oldValue: Area, newValue: Area)=>{ 
        console.log(newValue.height.toString()) 
        if (Number(newValue.height) > Number(this.sizeValue)) { 
         this.sizeValue = newValue.height.toString() 
        } 
       }) 
     } 
    }, (item: string) => item) 
   } 
   .listDirection(Axis.Horizontal) // 排列方向 
   .scrollBar(BarState.Auto) 
   .backgroundColor(Color.Gray) 
   .width('100%') 
   .height(this.sizeValue) 
  } 
  .width('100%') 
  .padding({ top: 5 }) 
 } 
}
分享
微博
QQ
微信
回复
2024-08-30 20:10:03
相关问题
HarmonyOS Grid高度根据内容自适应
55浏览 • 1回复 待解决
HarmonyOS web的高度自适应内容高度
76浏览 • 1回复 待解决
Grid组件如何实现高度自适应
3261浏览 • 1回复 待解决
Web组件如何实现高度自适应
1055浏览 • 1回复 待解决
HarmonyOS 高度自适应
251浏览 • 1回复 待解决
HarmonyOS RelativeContainer无法自适应高度
359浏览 • 1回复 待解决
HarmonyOS Web高度自适应问题
764浏览 • 1回复 待解决
HarmonyOS 高度自适应的问题
340浏览 • 1回复 待解决
HarmonyOS GridItem自适应高度问题
416浏览 • 1回复 待解决
HarmonyOS Grid自适应高度和拖拽问题
536浏览 • 1回复 待解决
HarmonyOS web组件自适应高度问题
1023浏览 • 1回复 待解决
HarmonyOS 自适应父组件高度问题
1117浏览 • 1回复 待解决