HarmonyOS Scroll组件设置最大高度,未超过最大高度就是内容高度

具体为封装了一个弹框,分为标题、内容、按钮,内容使用Scroll组件包裹,为了防止内容过长,需要为Scroll组件设置最大高度。

HarmonyOS
2024-08-09 15:33:14
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

用这个可以设置最大高度,示例代码如下:

@Entry 
@Component 
struct NestedScroll { 
  @State listPosition: number = 0; // 0代表滚动到List顶部,1代表中间值,2代表滚动到List底部。 
  private arr: number[] = [1, 2, 3, 4, 5, 6, 7] 
  private scrollerForList: Scroller = new Scroller() 
  build() { 
    Flex() { 
      Column() { 
        Text("头部") 
          .width("100%") 
          .height("20%") 
          .backgroundColor(0X330000FF) 
          .fontSize(16) 
          .textAlign(TextAlign.Center) 
        List({ space: 20, scroller: this.scrollerForList }) { 
          ForEach(this.arr, (item: number) => { 
            ListItem() { 
              Text("ListItem" + item) 
                .width("100%") 
                .height("100%") 
                .borderRadius(15) 
                .fontSize(16) 
                .textAlign(TextAlign.Center) 
                .backgroundColor(Color.White) 
            }.width("100%").height(100) 
          }, (item: string) => item) 
        } 
        .borderColor(Color.Green) 
        .borderWidth(2) 
        .width("100%") 
        .edgeEffect(EdgeEffect.None) 
        .friction(0.6) 
        .onReachStart(() => { 
          this.listPosition = 0 
        }) 
        .onReachEnd(() => { 
          this.listPosition = 2 
        }) 
        .onScrollFrameBegin((offset: number) => { 
          if ((this.listPosition == 0 && offset <= 0) || (this.listPosition == 2 && offset >= 0)) { 
            return { offsetRemain: 0 } 
          } 
          this.listPosition = 1 
          return { offsetRemain: offset }; 
        }) 
        .constraintSize({ maxHeight: 400 }) 
        Text("尾部") 
          .width("100%") 
          .height("20%") 
          .backgroundColor(0X330000FF) 
          .fontSize(16) 
          .textAlign(TextAlign.Center) 
      } 
    }.width('100%').height('100%').backgroundColor(0xDCDCDC) 
  } 
}
分享
微博
QQ
微信
回复
2024-08-09 19:23:50
相关问题
组件最大和最小宽度和高度如何设置
1966浏览 • 1回复 待解决
如何设置组件最大最小宽度高度
2631浏览 • 1回复 待解决
HarmonyOS scroll高度设置问题
241浏览 • 1回复 待解决
HarmonyOS 如何按比例设置控件高度
139浏览 • 1回复 待解决
HarmonyOS web组件自适应高度问题
279浏览 • 1回复 待解决
HarmonyOS 自适应父组件高度问题
371浏览 • 1回复 待解决
ets中设置布局高度和宽度
2741浏览 • 1回复 待解决
Web组件如何实现高度自适应?
718浏览 • 1回复 待解决
Grid组件如何实现高度自适应
2700浏览 • 1回复 待解决
如何在TextArea中设置最小的高度
264浏览 • 1回复 待解决