当前位置:   article > 正文

harmony开发之button组件的使用

harmony开发之button组件的使用

从API version 9开始,该接口支持在ArkTS卡片中使用。

  • 按钮圆角通过通用属性borderRadius设置(不支持通过border接口设置圆角),且只支持设置一个相同的圆角。
  • 当按钮类型为Capsule时,borderRadius设置不生效,按钮圆角始终为宽、高中较小值的一半。
  • 当按钮类型为Circle时,borderRadius即为按钮半径,若未设置borderRadius按钮半径则为宽、高中较小值的一半。
  • 按钮文本通过通用文本样式进行设置。
  • 设置颜色渐变需先设置backgroundColor为透明色。

示例代码

  1. @Entry
  2. @Component
  3. struct ButtonExample {
  4. build() {
  5. Column(){
  6. Button({ type: ButtonType.Capsule, stateEffect: true }) {
  7. Row() {
  8. LoadingProgress().width(20).height(20).margin({ left: 12 }).color(0xFFFFFF)
  9. Text('loading').fontSize(12).fontColor(0xffffff).margin({ left: 12, right: 12 })
  10. }.alignItems(VerticalAlign.Center).width(90).height(40)
  11. }.backgroundColor(0x317aff)
  12. .width(200)
  13. }.alignItems(HorizontalAlign.Center).width('90%')//调整容器的水平
  14. .height(500).justifyContent(FlexAlign.Center)//调整容器的高度
  15. }
  16. }

使用圆形按钮:

  1. @Entry
  2. @Component
  3. struct ButtonExample {
  4. build() {
  5. Column(){
  6. Text('Circle button').fontSize(15).fontColor(0xCCCCCC)
  7. Button({ type: ButtonType.Circle, stateEffect: true }) {
  8. LoadingProgress().width(20).height(20).color(0xFFFFFF)
  9. }.width(55).height(55).margin({ left: 20 }).backgroundColor(0xF55A42)
  10. }.alignItems(HorizontalAlign.Center).width('90%')//调整容器的水平
  11. .height("80%").justifyContent(FlexAlign.Center)//调整容器的高度
  12. }
  13. }

示例2:

使用button的点击事件,来计数:

  1. // xxx.ets
  2. @Entry
  3. @Component
  4. struct SwipeGestureExample {
  5. @State count: number = 0//定义用来计数的变量
  6. build() {
  7. Column() {
  8. Text(`${this.count}`)
  9. .fontSize(30)
  10. .onClick(() => {
  11. this.count++
  12. })
  13. if (this.count <= 0) {//判断奇偶数
  14. Button('count is negative').fontSize(30).height(50)
  15. } else if (this.count % 2 === 0) {
  16. Button('count is even').fontSize(30).height(50)
  17. } else {
  18. Button('count is odd').fontSize(30).height(50)
  19. }
  20. }.height('100%').width('100%').justifyContent(FlexAlign.Center)//设置容器的高度
  21. }
  22. }

这里顺带说一哈,空白填充组件(blank),在容器主轴方向上,空白填充组件具有自动填充容器空余部分的能力。仅当父组件为Row/Column/Flex时生效。(该组件从API Version 7开始支持。)

Blank(min?: number | string)

空白填充组件在容器主轴上的最小大小。默认值:0

说明:不支持设置百分比。负值使用默认值。当最小值大于容器可用空间时,使用最小值作为自身大小并超出容器。

可以使用color设置空白填充的填充颜色。默认值:Color.Transparent    从API version 9开始,该接口支持在ArkTS卡片中使用。

其中颜色支持类型为:ResourceColor

Color

颜色枚举值。

number

HEX格式颜色,支持rgb。示例:0xffffff。

string

rgb或者rgba格式颜色。示例:'#ffffff', '#ff000000', 'rgb(255, 100, 255)', 'rgba(255, 100, 255, 0.5)'。

Resource

使用引入资源的方式,引入系统资源或者应用资源中的颜色。

Font

设置文本样式。

名称

类型

必填

说明

size

Length

设置文本尺寸,Length为number类型时,使用fp单位。不支持设置百分比字符串。

weight

FontWeight | number | string

设置文本的字体粗细,number类型取值[100, 900],取值间隔为100,默认为400,取值越大,字体越粗。

family

string | Resource

设置文本的字体列表。使用多个字体,使用','进行分割,优先级按顺序生效。例如:'Arial, HarmonyOS Sans'。当前支持'HarmonyOS Sans'字体和注册自定义字体

style

FontStyle

设置文本的字体样式。

代码部分如下:

  1. // xxx.ets
  2. @Entry
  3. @Component
  4. struct BlankExample {
  5. build() {
  6. Column() {
  7. Row() {
  8. Text('Bluetooth').fontSize(18)
  9. Blank()
  10. Toggle({ type: ToggleType.Switch }).margin({ top: 14, bottom: 14, left: 6, right: 6 })
  11. }.width('100%').backgroundColor(0xFFFFFF).borderRadius(15).padding({ left: 12 })
  12. }.backgroundColor(0xEFEFEF).padding(20)
  13. }
  14. }

以上内容,参考官方代码

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/275673
推荐阅读
相关标签
  

闽ICP备14008679号