HarmonyOS基础组件:Button三种类型的使用

简介

HarmonyOS在明年将正式不再兼容Android原生功能,这意味着对于客户端的小伙伴不得不开始学习HarmonyOS开发语言。本篇文章主要介绍鸿蒙中的Button使用。

HarmonyOS中的Button相较于Android原生来说,功能比较丰富,扩展性高,减少了开发者的代码数量,简化了使用方式。不仅可以自定义圆角还支持三种样式。

常用属性

|---------------------|---------------|-------------------------------------------------------------------------------|
| 名称 | 参数类型 | 描述 |
| type | ButtonType | 设置按钮样式 * Capsule:胶囊型按钮(圆角默认为高度的一半)。 * Circle:圆形按钮。 * Normal:普通按钮(默认不带圆角)。 |
| backgroundColor | ResourceColor | 背景色 |
| fontSize | number | 文字大小 |
| fontWeight | FontWeight | 设置字体粗细 |
| stateEffect | boolean | 是否开启点击效果 |

构造函数

复制代码
Button(options?: {type?: ButtonType, stateEffect?: boolean})

按钮类型

  1. 普通类型

    Button("我是普通类型按鈕",{type:Normal}).onClick(()=>{
    promptAction.showToast({message:"我被点击了"})
    })

  1. 胶囊类型

    Button("我是胶囊类型按鈕",{type:Capsule}).onClick(()=>{
    promptAction.showToast({message:"我被点击了"})
    })

  1. 圆形类型

    Button("我是圆形类型按鈕",{type:Capsule}).onClick(()=>{
    promptAction.showToast({message:"我被点击了"})
    })

扩展功能

HarmonyOS提供的Button不仅支持普通类型,胶囊类型,圆形类型三种样式,还支持自定义样式,扩展能力更强,更简单。

下面实现一个带图片和文字的Button的效果,如果使用Android原生来实现,一般使用布局控件包裹Image和Text来实现,在鸿蒙系统中,可以直接使用Button来实现。

代码如下:

复制代码
 Button(){
        Row(){
          Image($r("app.media.app_icon")).width(30).height(30)
          Text("我是自定义Button")
        }.padding(10)
      }

实现效果如下:

总结

HarmonyOS系统提供了强大的UI绘制能力,为开发者准备了很多便捷的属性功能,本文仅仅展示其冰山一角,更好丰富好玩的实现,需要动手实现,还不会的小伙伴快动手试试吧!

相关推荐
爱笑的眼睛112 小时前
HarmonyOS通知消息分类管理的深度实践与架构解析
华为·harmonyos
爱笑的眼睛113 小时前
HarmonyOS Menu组件深度自定义:突破默认样式的创新实践
华为·harmonyos
赵得C4 小时前
人工智能的未来之路:华为全栈技术链与AI Agent应用实践
人工智能·华为
虚伪的空想家5 小时前
华为A800I A2 arm64架构鲲鹏920cpu的ubuntu22.04 tls配置直通的grub配置
ubuntu·华为·架构·虚拟化·kvm·npu·国产化适配
编码追梦人6 小时前
仓颉语言:全栈开发新利器,从服务端到鸿蒙的深度解析与实践
jvm·华为·harmonyos
爱笑的眼睛116 小时前
HarmonyOS输入法框架(IMF)深度解析:构建跨设备智能输入体验
华为·harmonyos
特立独行的猫a6 小时前
鸿蒙应用状态管理新方案:AppStorageV2与PersistenceV2深度详解
华为·harmonyos·状态管理·appstoragev2·persistencev2
奔跑的露西ly6 小时前
【HarmonyOS NEXT】Navigation路由导航
华为·harmonyos
坚果的博客7 小时前
Cordova 开发鸿蒙应用完全指南
华为·harmonyos
爱笑的眼睛1110 小时前
HarmonyOS应用开发中HTTP网络请求的封装与拦截器深度实践
华为·harmonyos