第九节HarmonyOS 常用基础组件4-Button

一、Button

Button组件主要用来响应点击操作,可以包含子组件。

示例代码:

复制代码
@Entry
@Component
struct Index {
  build() {
    Row() {
      Column() {
        Button('确定', { type: ButtonType.Capsule, stateEffect: true })
          .width('90%')
          .height(40)
          .fontSize(16)
          .fontWeight(FontWeight.Medium)
          .backgroundColor('#007DFF')

      }
      .width('100%')
    }
    .height('100%')
  }
}

效果图:

二、设置按钮样式

type用于定义按钮样式,示例代码中ButtonType.Capsule表示胶囊形按钮;stateEffect用于设置按钮按下时是否开启切换效果,当状态置为false时,点击效果关闭,默认值为true。

我们可以设置多种样式的Button,除了Capsule可以以设置Normal和Circle:

代码:

复制代码
@Entry
@Component
struct Index {
  build() {
    Row() {
      Column() {
        Button('确定', { type: ButtonType.Normal, stateEffect: true })
          .width('90%')
          .height(50)
          .fontSize(20)
          .backgroundColor('#007DFF')
        Blank(10)
        Button('确定1', { type: ButtonType.Capsule, stateEffect: true })
          .width('90%')
          .height(50)
          .fontSize(20)
          .backgroundColor('#007DFF')
        Blank(10)
        Button('确定', { type: ButtonType.Circle, stateEffect: true })
          .width('90%')
          .height(100)
          .fontSize(20)
          .backgroundColor('#007DFF')

      }
      .width('100%')
    }
    .height('100%')
  }
}
  1. Capsule:胶囊型按钮(圆角默认为高度的一半)。
  1. Circle:圆形按钮。
  1. Normal:普通按钮(默认不带圆角)。

三、设置按钮点击事件

可以给Button绑定onClick事件,每当用户点击Button的时候,就会回调执行onClick方法,调用里面的逻辑代码。

复制代码
Button('登录', { type: ButtonType.Capsule, stateEffect: true })
  ...
  .onClick(() => {
  // 处理点击事件逻辑
  })

四、包含子组件

Button组件可以包含子组件,让您可以开发出更丰富多样的Button,下面的示例代码中Button组件包含了一个Image组件:

复制代码
Button({ type: ButtonType.Circle, stateEffect: true }) {
  Image($r('app.media.icon_delete'))
    .width(30)
    .height(30)
}
.width(55)
.height(55)
.backgroundColor(0x317aff)

效果图如下:

相关推荐
UnicornDev9 小时前
【HarmonyOS 6】空状态页面布局设计
华为·harmonyos·arkts·鸿蒙·鸿蒙系统
互联网散修16 小时前
零基础鸿蒙应用开发第十九节:解锁灵活数据存储新技能Map/Set
harmonyos
枫叶丹417 小时前
【HarmonyOS 6.0】ArkData 应用间配置共享:构建跨应用协作新范式
开发语言·华为·harmonyos
互联网散修17 小时前
零基础鸿蒙应用开发第十八节:内置泛型工具类型应用
harmonyos
轻口味18 小时前
HarmonyOS 6 自定义人脸识别模型8:MindSpore Lite框架介绍与使用
c++·华为·ai·harmonyos
枫叶丹418 小时前
【HarmonyOS 6.0】ArkData 分布式数据对象新特性:资产传输进度监听与接续传输能力深度解析
开发语言·分布式·华为·wpf·harmonyos
枫叶丹418 小时前
【HarmonyOS 6.0】Agent Framework Kit深度解析:构建应用与智能体的无缝连接
华为·aigc·harmonyos
亚历克斯神1 天前
Flutter for OpenHarmony: Flutter 三方库 mutex 为鸿蒙异步任务提供可靠的临界资源互斥锁(并发安全基石)
android·数据库·安全·flutter·华为·harmonyos
钛态1 天前
Flutter 三方库 smartstruct 鸿蒙化字段映射适配指南:介入静态预编译引擎扫除视图及数据模型双向强转类型错乱隐患,筑稳如磐石的企业级模型治理防线-适配鸿蒙 HarmonyOS ohos
flutter·华为·harmonyos
键盘鼓手苏苏1 天前
Flutter 组件 csv2json 适配鸿蒙 HarmonyOS 实战:高性能异构数据转换,构建 CSV 流式解析与全栈式数据映射架构
flutter·harmonyos·鸿蒙·openharmony