HarmonyOS 半模态转场是否支持收起后在底部显示标题,而且拖拽标题后还可以再展开?

HarmonyOS 半模态转场是否支持收起后在底部显示标题,而且拖拽标题后还可以再展开?

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

demo:

@Entry  
@Component  
struct ListExample {  
  @State isShow:boolean = false  
  private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]  
  
  @Builder myBuilder() {  
    Column() {  
      Button("change height")  
        .margin(10)  
        .fontSize(20)  
        .onClick(()=>{  
  
        })  
  
    }  
    .width('100%')  
    .height('100%')  
  }  
  
  build() {  
    Column() {  
      Button("transition modal 1")  
        .onClick(() => {  
          this.isShow = true  
        })  
        .fontSize(20)  
        .margin(10)  
        .bindSheet($$this.isShow, this.myBuilder(), {  
          detents:[SheetSize.MEDIUM,SheetSize.LARGE,100],  
          backgroundColor: Color.Green,  
          enableOutsideInteractive:true,  
          onAppear: () => {console.log("BindSheet onAppear.")},  
          onDisappear: () => {console.log("BindSheet onDisappear.")}  
        })  
      List({ space: 20, initialIndex: 0 }) {  
        ForEach(this.arr, (item: number) => {  
          ListItem() {  
            Text('' + item)  
              .width('100%').height(100).fontSize(16)  
              .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFFFFFF)  
          }  
        }, (item: string) => item)  
      }  
      .listDirection(Axis.Vertical) // 排列方向  
      .scrollBar(BarState.Off)  
      .friction(0.6)  
      .divider({ strokeWidth: 2, color: 0xFFFFFF, startMargin: 20, endMargin: 20 }) // 每行之间的分界线  
      .edgeEffect(EdgeEffect.Spring) // 边缘效果设置为Spring  
      .onScrollIndex((firstIndex: number, lastIndex: number, centerIndex: number) => {  
        console.info('first' + firstIndex)  
        console.info('last' + lastIndex)  
        console.info('center' + centerIndex)  
      })  
      .onScroll((scrollOffset: number, scrollState: ScrollState) => {  
        console.info(`onScroll scrollState = ScrollState` + scrollState + `, scrollOffset = ` + scrollOffset)  
      })  
      .width('90%')  
    }  
    .width('100%')  
    .height('100%')  
    .backgroundColor(0xDCDCDC)  
    .padding({ top: 5 })  
  }  
}
分享
微博
QQ
微信
回复
2024-10-25 15:21:30
相关问题
模态转场如何控制固定高度
1925浏览 • 1回复 待解决
如何固定模态转场的高度
518浏览 • 1回复 待解决
模态转场来实现弹框样式的页面
915浏览 • 1回复 待解决
有那种公共的标题返回的标题控件吗
1759浏览 • 1回复 待解决