Toggle
組件提供勾選框樣式、狀態(tài)按鈕樣式及開(kāi)關(guān)樣式。
說(shuō)明:
開(kāi)發(fā)前請(qǐng)熟悉鴻蒙開(kāi)發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
該組件從API Version 8開(kāi)始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。
子組件
僅當(dāng)ToggleType為Button時(shí)可包含子組件。
接口
Toggle(options: { type: ToggleType, isOn?: boolean })
從API version 9開(kāi)始,該接口支持在ArkTS卡片中使用。
參數(shù):
| 參數(shù)名 | 參數(shù)類型 | 必填 | 參數(shù)描述 |
|---|---|---|---|
| type | [ToggleType] | 是 | 開(kāi)關(guān)的樣式。 |
| isOn | boolean | 否 | 開(kāi)關(guān)是否打開(kāi),true:打開(kāi),false:關(guān)閉。 默認(rèn)值:false 從API version 10開(kāi)始,該參數(shù)支持[$$]雙向綁定變量。 |
ToggleType枚舉說(shuō)明
從API version 9開(kāi)始,該接口支持在ArkTS卡片中使用。
| 名稱 | 描述 |
|---|---|
| Checkbox | 提供單選框樣式。 說(shuō)明: [通用屬性margin]的默認(rèn)值為: { top: 14 px, right: 14 px, bottom: 14 px, left: 14 px } |
| Button | 提供狀態(tài)按鈕樣式,如果子組件有文本設(shè)置,則相應(yīng)的文本內(nèi)容會(huì)顯示在按鈕內(nèi)部。 |
| Switch | 提供開(kāi)關(guān)樣式。 說(shuō)明: [通用屬性margin]默認(rèn)值為: { top: 6px, right: 14px, bottom: 6 px, left: 14 px } |
屬性
除支持[通用屬性]外,還支持以下屬性:
| 名稱 | 參數(shù) | 參數(shù)描述 |
|---|---|---|
| selectedColor | [ResourceColor] | 設(shè)置組件打開(kāi)狀態(tài)的背景顏色。 從API version 9開(kāi)始,該接口支持在ArkTS卡片中使用。 |
| switchPointColor | [ResourceColor] | 設(shè)置Switch類型的圓形滑塊顏色。**說(shuō)明:**僅對(duì)type為T(mén)oggleType.Switch生效。 從API version 9開(kāi)始,該接口支持在ArkTS卡片中使用。 |
事件
除支持[通用事件]外,還支持以下事件:
| 名稱 | 功能描述 |
|---|---|
| onChange(callback: (isOn: boolean) => void) | 開(kāi)關(guān)狀態(tài)切換時(shí)觸發(fā)該事件。 從API version 9開(kāi)始,該接口支持在ArkTS卡片中使用。**說(shuō)明:**isOn為true時(shí),代表狀態(tài)從關(guān)切換為開(kāi)。isOn為false時(shí),代表狀態(tài)從開(kāi)切換為關(guān)。HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |

示例
// xxx.ets
@Entry
@Component
struct ToggleExample {
build() {
Column({ space: 10 }) {
Text('type: Switch').fontSize(12).fontColor(0xcccccc).width('90%')
Flex({ justifyContent: FlexAlign.SpaceEvenly, alignItems: ItemAlign.Center }) {
Toggle({ type: ToggleType.Switch, isOn: false })
.selectedColor('#007DFF')
.switchPointColor('#FFFFFF')
.onChange((isOn: boolean) = > {
console.info('Component status:' + isOn)
})
Toggle({ type: ToggleType.Switch, isOn: true })
.selectedColor('#007DFF')
.switchPointColor('#FFFFFF')
.onChange((isOn: boolean) = > {
console.info('Component status:' + isOn)
})
}
Text('type: Checkbox').fontSize(12).fontColor(0xcccccc).width('90%')
Flex({ justifyContent: FlexAlign.SpaceEvenly, alignItems: ItemAlign.Center }) {
Toggle({ type: ToggleType.Checkbox, isOn: false })
.size({ width: 20, height: 20 })
.selectedColor('#007DFF')
.onChange((isOn: boolean) = > {
console.info('Component status:' + isOn)
})
Toggle({ type: ToggleType.Checkbox, isOn: true })
.size({ width: 20, height: 20 })
.selectedColor('#007DFF')
.onChange((isOn: boolean) = > {
console.info('Component status:' + isOn)
})
}
Text('type: Button').fontSize(12).fontColor(0xcccccc).width('90%')
Flex({ justifyContent: FlexAlign.SpaceEvenly, alignItems: ItemAlign.Center }) {
Toggle({ type: ToggleType.Button, isOn: false }) {
Text('status button').fontColor('#182431').fontSize(12)
}.width(106)
.selectedColor('rgba(0,125,255,0.20)')
.onChange((isOn: boolean) = > {
console.info('Component status:' + isOn)
})
Toggle({ type: ToggleType.Button, isOn: true }) {
Text('status button').fontColor('#182431').fontSize(12)
}.width(106)
.selectedColor('rgba(0,125,255,0.20)')
.onChange((isOn: boolean) = > {
console.info('Component status:' + isOn)
})
}
}.width('100%').padding(24)
}
}

審核編輯 黃宇
-
組件
+關(guān)注
關(guān)注
1文章
580瀏覽量
19039 -
鴻蒙
+關(guān)注
關(guān)注
60文章
2978瀏覽量
46003
發(fā)布評(píng)論請(qǐng)先 登錄
HarmonyOS/OpenHarmony應(yīng)用開(kāi)發(fā)-ArkTS的聲明式開(kāi)發(fā)范式
HarmonyOS/OpenHarmony原生應(yīng)用-ArkTS萬(wàn)能卡片組件Toggle
鴻蒙ArkTS聲明式組件:Marquee
鴻蒙ArkTS聲明式組件:PatternLock
鴻蒙ArkTS聲明式組件:Toggle
評(píng)論