W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
可滑動面板,提供一種輕量的內(nèi)容展示窗口,方便在不同尺寸中切換。
該組件從API Version 7開始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標單獨標記該內(nèi)容的起始版本。
Panel(show: boolean)
參數(shù):
參數(shù)名 | 參數(shù)類型 | 必填 | 參數(shù)描述 |
---|---|---|---|
show | boolean | 是 | 控制Panel顯示或隱藏。 說明: 如果設置為false時,則不占位隱藏。Visible.None或者show之間有一個生效時,都會生效不占位隱藏。 |
除支持通用屬性外,還支持以下屬性:
名稱 | 參數(shù)類型 | 描述 |
---|---|---|
type | 設置可滑動面板的類型。 默認值:PanelType.Foldable | |
mode | 設置可滑動面板的初始狀態(tài)。 Minibar類型默認值:PanelMode.Mini;其余類型默認值:PanelMode.Half | |
dragBar | boolean | 設置是否存在dragbar,true表示存在,false表示不存在。 默認值:true |
fullHeight | string | number | 指定PanelMode.Full狀態(tài)下的高度。 默認值:當前組件主軸大小減去8vp空白區(qū) 說明: 不支持設置百分比。 |
halfHeight | string | number | 指定PanelMode.Half狀態(tài)下的高度。 默認值:當前組件主軸大小的一半。 說明: 不支持設置百分比。 |
miniHeight | string | number | 指定PanelMode.Mini狀態(tài)下的高度。 默認值:48 單位:vp 說明: 不支持設置百分比。 |
show | boolean | 當滑動面板彈出時調(diào)用。 默認值:true |
backgroundMask9+ | 指定Panel的背景蒙層。 默認值:'#08182431' |
名稱 | 描述 |
---|---|
Minibar | 提供minibar和類全屏展示切換效果。 |
Foldable | 內(nèi)容永久展示類,提供大(類全屏)、中(類半屏)、小三種尺寸展示切換效果。 |
Temporary | 內(nèi)容臨時展示區(qū),提供大(類全屏)、中(類半屏)兩種尺寸展示切換效果。 |
名稱 | 描述 |
---|---|
Mini | 類型為minibar和foldable時,為最小狀態(tài);類型為temporary,則不生效。 |
Half | 類型為foldable和temporary時,為類半屏狀態(tài);類型為minibar,則不生效。 |
Full | 類全屏狀態(tài)。 |
除支持通用事件外,還支持以下事件:
名稱 | 功能描述 |
---|---|
onChange(event: (width: number, height: number, mode: PanelMode) => void) | 當可滑動面板發(fā)生狀態(tài)變化時觸發(fā), 返回的height值為內(nèi)容區(qū)高度值,當dragbar屬性為true時,panel本身的高度值為dragbar高度加上內(nèi)容區(qū)高度。 |
onHeightChange(callback: (value: number) => void)9+ | 當可滑動面板發(fā)生高度變化時觸發(fā),返回的height值為內(nèi)容區(qū)高度值,默認返回值單位為px。當dragbar屬性為true時,panel本身的高度值為dragbar高度加上內(nèi)容區(qū)高度。因用戶體驗設計原因,panel最高只能滑到 fullHeight-8vp。 |
- // xxx.ets
- @Entry
- @Component
- struct PanelExample {
- @State show: boolean = false
- build() {
- Column() {
- Text('2021-09-30 Today Calendar: 1.afternoon......Click for details')
- .width('90%').height(50).borderRadius(10)
- .backgroundColor(0xFFFFFF).padding({ left: 20 })
- .onClick(() => {
- this.show = !this.show
- })
- Panel(this.show) { // 展示日程
- Column() {
- Text('Today Calendar')
- Divider()
- Text('1. afternoon 4:00 The project meeting')
- }
- }
- .type(PanelType.Foldable).mode(PanelMode.Half)
- .dragBar(true) // 默認開啟
- .halfHeight(500) // 默認一半
- .onChange((width: number, height: number, mode: PanelMode) => {
- console.info(`width:${width},height:${height},mode:${mode}`)
- })
- }.width('100%').height('100%').backgroundColor(0xDCDCDC).padding({ top: 5 })
- }
- }
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: