【鸿蒙开发】第14课,Toggle、SymbolGlyph组件

1 Toggle组件

在鸿蒙应用开发中,Toggle组件作为核心交互控件,广泛应用于开关设置、状态切换等场景。

typescript 复制代码
@Entry
@Component
struct ToggleDemo {
  @State toggleState: boolean = false

  build() {
    Column() {
      Toggle({ type: ToggleType.Checkbox, isOn: this.toggleState })
        .onChange((isOn) => {
          this.toggleState = isOn
        })
        .margin(10)

      Toggle({ type: ToggleType.Switch, isOn: this.toggleState })
        .onChange((isOn) => {
          this.toggleState = isOn
        })
        .margin(10)

      Toggle({ type: ToggleType.Switch, isOn: this.toggleState })
        .onChange((isOn) => {
          this.toggleState = isOn
        })
        .switchPointColor(Color.Green)
        .selectedColor(Color.Yellow)
        .margin(10)

      Toggle({ type: ToggleType.Button, isOn: this.toggleState })
        .onChange((isOn) => {
          this.toggleState = isOn
        })
        .size({ width: 40, height: 40 })
        .selectedColor(Color.Red)
        .backgroundColor(Color.Orange)
        .margin(10)

      Text(`当前状态:${this.toggleState ? '开启' : '关闭'}`)
    }.width('100%')
    .height('100%')
    .justifyContent(FlexAlign.Center)
  }
}

2 SymbolGlyph

SymbolGlyph组件是显示图标小符号的组件。

typescript 复制代码
// 声明组件入口和组件类型
@Entry
@Component
struct SymbolGlyphDemo {
  // 组件构建方法,定义UI结构
  build() {
    // 创建垂直布局容器,设置宽高为100%
    Column() {
      // 添加系统WiFi图标,设置字体大小为30
      SymbolGlyph($r('sys.symbol.ohos_wifi')).fontSize(30)

      // 添加带加号文件夹图标,设置:
      // - 字体大小70
      // - 多色渲染策略
      // - 三种颜色渐变(绿、红、橙)
      SymbolGlyph($r('sys.symbol.ohos_folder_badge_plus'))
        .fontSize(70)
        .renderingStrategy(SymbolRenderingStrategy.MULTIPLE_COLOR)
        .fontColor([Color.Green, Color.Red, Color.Orange])

      // 添加相同文件夹图标,设置:
      // - 字体大小70
      // - 多透明度渲染策略
      // - 三种颜色透明度渐变
      SymbolGlyph($r('sys.symbol.ohos_folder_badge_plus'))
        .fontSize(70)
        .renderingStrategy(SymbolRenderingStrategy.MULTIPLE_OPACITY)
        .fontColor([Color.Green, Color.Red, Color.Orange])

      // 添加WiFi图标,设置:
      // - 特效策略1(可能是渐变/动态效果)
      // - 超大字体97
      SymbolGlyph($r('sys.symbol.ohos_wifi')).effectStrategy(1).fontSize(97)

      // 添加WiFi图标,设置:
      // - 特效策略2(可能是另一种动态效果)
      // - 超大字体97
      SymbolGlyph($r('sys.symbol.ohos_wifi')).effectStrategy(2).fontSize(97)
    }
    // 设置容器宽度为100%
    .width('100%')
    // 设置容器高度为100%
    .height('100%')
  }
}
相关推荐
敲代码的鱼哇2 分钟前
发送短信/拨打电话/获取联系人能力 UTS 插件(cz-sms)
android·前端·ios·uni-app·安卓·harmonyos·鸿蒙
Hello__77773 分钟前
开源鸿蒙 Flutter 实战|仓库评论与点赞功能完整实现
flutter·开源·harmonyos
代码飞天32 分钟前
harmonyOS开发之页面跳转
华为·harmonyos
ancktion34 分钟前
鸿蒙开发环境配置搭建
华为·harmonyos
nashane1 小时前
HarmonyOS 6学习:加密一致性与安全存储——AES GCM排查与SaveButton实践
学习·安全·harmonyos·harmony app
liulian09163 小时前
【Flutter for OpenHarmony第三方库】Flutter for OpenHarmony 音频播放功能适配与实现指南
flutter·华为·音视频·学习方法·harmonyos
KIHU快狐3 小时前
快狐KIHU|86寸落地触控一体机G+G电容屏HarmonyOS鸿蒙酒吧查询终端
python·华为·harmonyos
SuperHeroWu74 小时前
【小艺Claw】鸿蒙龙虾是什么?如何接入和使用?
华为·harmonyos·鸿蒙·jiuwenclaw·小艺claw
Lanren的编程日记4 小时前
Flutter 鸿蒙应用机器学习功能集成实战:TFLite兼容框架+模拟推理引擎,打造端侧智能体验
flutter·华为·harmonyos·推荐算法
Hello__77775 小时前
开源鸿蒙 Flutter 实战|应用启动页(Splash Screen)全流程实现
flutter·开源·harmonyos