设置list自适应内容撑起高度,会发现list超出父视图的问题

写了一个list,然后自适应内容撑起高度,最大高度为屏幕的百分之75。当内容撑起到最大高度的时候,滑动list,会发现底部有几个cell滑动不出来,看图层是因为list被撑出父视图。因为list会被撑的跟父视图相同的高度,但是我list上面加了title组建,底部加了个安全区view组建。之后我就改成了相对布局,但是相对布局list一直会报警告,没有设置宽高。

HarmonyOS
2024-10-11 10:54:06
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

list自适应内容可以通过设置LayoutWeight(1)属性来解决

可参考demo:

@Entry  
@Component  
struct Index {  
  @State message: string = 'Hello World';  
  build() {  
    Column(){  
      Column() {  
        Text('12')  
          .fontSize(18)  
          .fontWeight(FontWeight.Regular)  
          .fontColor(Color.Black)  
          .textAlign(TextAlign.Center)  
          .backgroundColor(Color.Blue)  
          .width('100%')  
          .height(100)  
        List({ space: 10 }) {  
          ListItem() {  
            Row()  
              .backgroundColor(Color.Red)  
              .width('100%')  
              .height(100)  
          }  
          ListItem() {  
            Row()  
              .backgroundColor(Color.Orange)  
              .width('100%')  
              .height(100)  
          }  
          ListItem() {  
            Row()  
              .backgroundColor(Color.Yellow)  
              .width('100%')  
              .height(600)  
          }  
          ListItem() {  
            Row()  
              .backgroundColor(Color.Gray)  
              .width('100%')  
              .height(600)  
          }  
          ListItem() {  
            Row()  
              .backgroundColor(Color.Yellow)  
              .width('100%')  
              .height(600)  
          }  
          ListItem() {  
            Row()  
              .backgroundColor(Color.Orange)  
              .width('100%')  
              .height(300)  
          }  
          ListItem() {  
            Row()  
              .backgroundColor(Color.Gray)  
              .width('100%')  
              .height(300)  
          }  
        }  
        .padding({ top: 10, left: 10, bottom: 10, right: 10 })  
        .backgroundColor(Color.Pink)  
        .scrollBar(BarState.Off)  
        .onClick(() => {  
        })  
        .width('100%')  
        .constraintSize({  
          maxHeight: '75%'  
        })  
      }  
      .justifyContent(FlexAlign.End)  
      .layoutWeight(1)  
    }  
    .justifyContent(FlexAlign.End)  
    .backgroundColor('#000000')  
    .width('100%')  
    .height('100%')  
  }  
}  
@Entry  
@Component  
struct Index {  
  @State message: string = 'Hello World';  
  build() {  
    Column(){  
      Column() {  
        Text('12')  
          .fontSize(18)  
          .fontWeight(FontWeight.Regular)  
          .fontColor(Color.Black)  
          .textAlign(TextAlign.Center)  
          .backgroundColor(Color.Blue)  
          .width('100%')  
          .height(100)  
        List({ space: 10 }) {  
          ListItem() {  
            Row()  
              .backgroundColor(Color.Red)  
              .width('100%')  
              .height(100)  
          }  
        }  
        .padding({ top: 10, left: 10, bottom: 10, right: 10 })  
        .backgroundColor(Color.Pink)  
        .scrollBar(BarState.Off)  
        .onClick(() => {  
        })  
        .width('100%')  
        .constraintSize({  
          maxHeight: '75%'  
        })  
      }  
      .justifyContent(FlexAlign.End)  
      .layoutWeight(1)  
    }  
    .justifyContent(FlexAlign.End)  
    .backgroundColor('#000000')  
    .width('100%')  
    .height('100%')  
  }  
}
分享
微博
QQ
微信
回复
2024-10-11 17:21:34
相关问题
HarmonyOS 自适应组件高度问题
1000浏览 • 1回复 待解决
HarmonyOS Web高度自适应问题
676浏览 • 1回复 待解决
HarmonyOS 高度自适应问题
299浏览 • 1回复 待解决
HarmonyOS GridItem自适应高度问题
376浏览 • 1回复 待解决
HarmonyOS Grid自适应高度和拖拽问题
433浏览 • 1回复 待解决
HarmonyOS web组件自适应高度问题
974浏览 • 1回复 待解决
HarmonyOS Image 在List自适应大小失败
302浏览 • 1回复 待解决
HarmonyOS 高度自适应
212浏览 • 1回复 待解决
HarmonyOS RelativeContainer无法自适应高度
307浏览 • 1回复 待解决