码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • HarmonyOS基础组件之Button三种类型的使用


    简介

    HarmonyOS在明年将正式不再兼容Android原生功能,这意味着对于客户端的小伙伴不得不开始学习HarmonyOS开发语言。本篇文章主要介绍鸿蒙中的Button使用。 HarmonyOS中的Button相较于Android原生来说,功能比较丰富,扩展性高,减少了开发者的代码数量,简化了使用方式。不仅可以自定义圆角还支持三种样式。

    常用属性

    名称参数类型描述
    typeButtonType设置按钮样式- Capsule:胶囊型按钮(圆角默认为高度的一半)。
    • Circle:圆形按钮。
    • Normal:普通按钮(默认不带圆角)。
    backgroundColorResourceColor背景色
    fontSizenumber文字大小
    fontWeightFontWeight设置字体粗细
    stateEffectboolean是否开启点击效果

    构造函数

    Button(options?: {type?: ButtonType, stateEffect?: boolean})
    
    • 1

    按钮类型

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

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

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

    扩展功能

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

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

    代码如下:

     Button(){
            Row(){
              Image($r("app.media.app_icon")).width(30).height(30)
              Text("我是自定义Button")
            }.padding(10)
          }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    实现效果如下:

    总结

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

    为了能让大家更好的学习鸿蒙 (Harmony OS) 开发技术,这边特意整理了《鸿蒙 (Harmony OS)开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05

    《鸿蒙 (Harmony OS)开发学习手册》

    入门必看

    1. 应用开发导读(ArkTS)
    2. 应用开发导读(Java)

    HarmonyOS 概念:https://qr21.cn/FV7h05

    1. 系统定义
    2. 技术架构
    3. 技术特性
    4. 系统安全

    如何快速入门

    1. 基本概念
    2. 构建第一个ArkTS应用
    3. 构建第一个JS应用
    4. ……

    开发基础知识:https://qr21.cn/FV7h05

    1. 应用基础知识
    2. 配置文件
    3. 应用数据管理
    4. 应用安全管理
    5. 应用隐私保护
    6. 三方应用调用管控机制
    7. 资源分类与访问
    8. 学习ArkTS语言
    9. ……

    **基于ArkTS 开发:https://qr21.cn/FV7h05 **

    1. Ability开发
    2. UI开发
    3. 公共事件与通知
    4. 窗口管理
    5. 媒体
    6. 安全
    7. 网络与链接
    8. 电话服务
    9. 数据管理
    10. 后台任务(Background Task)管理
    11. 设备管理
    12. 设备使用信息统计
    13. DFX
    14. 国际化开发
    15. 折叠屏系列
    16. ……

  • 相关阅读:
    PMP 报名有什么条件?容易满足吗?
    学生个人单页面网页作业 学生网页设计成品 静态HTML网页单页制作 dreamweaver网页设计与制作代码 web前端期末大作业
    Windows计划任务权限维持
    中秋假期,回不了家的程序员,竟然用Python做了这件事...
    集群创建(flannel)时候,没有自动创建出cni0网卡
    Java 24 Design Pattern 之 工厂模式
    基于MATLAB驾驶行为的疲劳实时检测研究
    【白板推导系列笔记】线性分类-线性判别分析(Fisher)-模型定义
    【华为OD机试真题 python】分班问题 【2022 Q4 | 100分】
    Pytorch环境配置——从零开始(不需要anaconda)
  • 原文地址:https://blog.csdn.net/weixin_61845324/article/details/134540987
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号