华为 HarmonyOS NEXT 原生应用开发:使用 Toggle 轻松实现开关灯案例

2024年11月5日 LiuJinTao

开关灯小案例

在这里插入图片描述
在这里插入图片描述

源代码示例

/**
 * Toggle 切换按钮组件(两种状态)
 */
import { promptAction } from '@kit.ArkUI'

@Entry
@Component
struct WindowPage {
  @State isOnState: boolean = false

  build() {
    Column({ space: 20 }) {
      Text('HarmonyOS NEXT').fontWeight(FontWeight.Bold)
      // TODO 模拟开关灯案例
      Column({ space: 20 }) {
        Text()
          .height(100)
          .width(2)
          .backgroundColor(this.isOnState ? Color.White : Color.Black)
        Image($r(this.isOnState ? 'app.media.open' : 'app.media.close')).width(40).height(40)
          .position({x: 119, y: 99})

      }
      .width('80%')
      .height(260)
      .backgroundColor(Color.Black)
      .borderRadius(15)
      // 切换按钮组件的使用
      Toggle({ type: ToggleType.Switch, isOn: this.isOnState})
        .selectedColor("#FFBFA9")
        .switchPointColor("#AAB396")
        .selectedColor("#FF0")
        // 通过 onChange事件处理该功能
        .onChange((isOn: boolean) => {
          this.isOnState = ! this.isOnState
          if (this.isOnState) {
            promptAction.showToast({ message: `开灯`})
          } else {
            promptAction.showToast({ message: `关灯`})
          }
        })
    }
    .height('100%')
    .width('100%')
    .padding(20)
    .justifyContent(FlexAlign.Center)
    .alignItems(HorizontalAlign.Center)
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

脱发使我稳重

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值