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:"我被点击了"})
      })

alt

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

alt

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

alt

扩展功能

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

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

代码如下:

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

实现效果如下:

alt

总结

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

#鸿蒙##HarmonyOS#
全部评论

相关推荐

06-07 05:03
已编辑
北方民族大学 Java
睡不着,那就来说说我最近的一段实习吧实习公司呢,是一家初创公司,办公场地只有20平米左右吧,8个工位,公司里面就算上老板就4个人,听老板说之前是有5个人的,有一个人最近离职。当时是别人告诉我,哪有个公司要人(在学校孵化园)。当时其实正值金三银四,自己着急找实习,加上自己做的个人项目也还没有做完,其实当时对这个也不怎么感兴趣。过了几天,我同学跑过来跟我说这个事情,刚好那周班会,班主任又说,后面有实训,不能提前放实训(除非大厂offer)。就想着自己一直都是几个人小打小闹的,去见见"世面",锻炼锻炼,看看企业里面是怎么开发的。来到公司呢,接待我的就是老板(够有面的哈),面试的也是他。面试很简单,聊技术栈,聊我做过的项目和八股,介绍公司目前的情况呀,也就20几分钟吧。然后就是问我意向如何(当时不知道是因为紧张还是什么,就直接答应了,后来想想还是觉得自己是真的有点老实)。老板就叫问了我课程怎么样,然后就让我下周周一没课的时候就去公司。就这样周一我去到公司(更准确的说是办公室),公司就只有两个人(一个全栈,一个前端)。老板没来😂。然后就随便找了个空工位坐下来,等了半个小时后老板才来。又跟我确认了一下学校的课(但是课还比较多吧,也就下午没啥课,说到这我真的想吐槽学校的课啦,都大三下还这么多杂七杂八的课,而且还是小班并且老师几乎认识班上每个人根本逃不了😂),就让我周一到周五下午没课就过来。就这样开始我的第一次实习。每天我教室-公司两头跑,第一周相当的清闲,啥活都没有。你看到这可能觉得这还挺爽的吗,当我告诉你没有工资时并且那是金三银四的时候就不认为。第二周就慢慢的给我派活了,让我根据需求文档去设计数据库吧,也比较轻松,花了两个下午的时间吧。接着老板就说那就下周二我们一起过一过吧。然后就是又没活的日子了。当时老板和另外两个人在忙一个航空的单子。给我的项目是某学院的信息系统的单子,可能是不急吧,就让我在开开头,但可能老板比较忙吧,一直到周四都没有提,我就开始去看自己的东西啦,属实是上班摸鱼啦,可惜是无薪摸鱼(以后要是能带高薪摸鱼那就更爽啦,哈哈哈)。接着周五老板一来到公司就问我,周六有没有安排,出不出去约会呀什么的。其实是准备去写写自己的项目的,但我还是说没有的。然后就让我周六10点来公司,一起过一过表有没有问题。像坐我对面的前端那哥们就很聪明,就说,没有办法家里面催的比较紧。说到这里,公司比较好的就是公司是965,偶尔周末加班。挺无语的来了,我周六十点到公司,结果老板没有来,然后差不多11点,老板才来。来了以后就才是过需求吧,然后吃了个饭,在公司休息会儿(老板回家吃饭)。下午3点多才又开始过需求,一直过到6点,才大概过完了。设计的表基本没有啥问题也得到了老板的认可吧。感觉一天的怨气也没了。接着就把公司之前做的一个项目给了我让我去跑跑,熟悉熟悉,说这个项目跟这个差不多,后面就拿这个来改一改就可以,看那些可以复用的。并让我去学学工作流这些,新的一周就是让我熟悉项目呀,学学工作流什么的。老板也偶尔会来问两句。然后就这样一周又过去啦,差不多一个月就干了这么点事。这个时候就4月啦。因为之前公司的那个UI离职了嘛,没人做UI,老板就把目光瞄向了我😂。当时我听到要让我去花UI,我人都愣住了(不至于不至于),当时说好只让我写后端的。当时真的有被无语到,当时因为这个实习其实把我原本的计划都打乱了。现在又让我花时间去干这个。哎,没办法谁让自己当初答应了,然后就这样干中学,搞了几天,搞完了就说后面过一过吧😂😂。你回去再好好看看代码。后面我们过完咱们开始写代码了。接着就又叫我周六去过。哎~真搞不懂为什么周内我在的时候不过呢😭。没办法又只能去啦。接着就说下周咱们开始写代码,并且给我分了一部分的需求。搞不懂为什么分给我的稍微难一点的,别人的基本上就是单表的curd,而我的是三四张表的curd,一个需求就相当于别人的整个需求了,让我一周写完😂。然后两天写完了后,其实这个时候就有点不想去了,就跟老板说,最近新+了几门课(实际也是真的),下午可能过去不了(每次去来都要30多分钟,也待不了多久就又要去上课,也干不了什么)。写完以后反正就有没有啥啥事干了(老板也还在忙他的航空单)。后来就又想让我写前端,这次是真的又让我无语住,虽然我能写,当时也仅仅能写并且当时还是想早点找一个理想的日常实习,写前端会花大量时间,然后我就比较委婉的拒绝了说我会写前端,写出来肯定不能用。后来老板没有办法就只能让全职的那个前端来写了。后面就是跟前端对接啦,由于当时前端看不懂swagger文档,又把所以接口加注解,字段加注解(这里其实自己也是学到了一些规范,自己之前都是自己一个人搞前后端,所以没有给文档写注释)。最后对接完差不多也就在这家公司实习了2个月了。最后我也是准备跑路。当时想跑的主要原因是要准备其他公司面试没太多精力,然后就是项目进度太慢了,老板有点拖拉(可能是比较忙吧),比如说说好周二干什么,结果这个可能会推到周末或者第二周(其实我觉得这个项目只要老板他们一起做可能就半个月做可以做完)。但是蛮好的就是我有不懂的问老板,他都愿意给我说。这就是我的第一份实习,我感觉就是在打杂,不知道友友们的第一份实习是怎么样的呢?  
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务