openharmony 鸿蒙 ohos-arkui-advanced-ArcButton

2025-06-12 浏览 (1)

ArcButton

弧形按钮组件用于圆形屏幕的穿戴设备。提供强调、普通、警告等样式按钮。

说明:

该组件从API version 18开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

导入模块

import {
  ArcButton,
  ArcButtonOptions,
  ArcButtonStatus,
  ArcButtonStyleMode,
  ArcButtonPosition,
}  from '@kit.ArkUI';

子组件

属性

不支持通用属性

事件

通用事件支持点击事件触摸事件

ArcButton

ArcButton({ options: ArcButtonOptions })

创建ArcButton实例,入参是弧形按钮配置选项。

装饰器类型: @Component

原子化服务API: 从API version 18开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Circle

参数

名称类型必填装饰器类型说明
optionsArcButtonOptions@Require定义ArcButton组件的文本、背景色、阴影等参数。

ArcButtonOptions

定义ArcButton的默认样式或自定义样式参数。

原子化服务API: 从API version 18开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Circle

属性

名称类型必填说明
positionArcButtonPosition上下弧形按钮类型属性。
默认值:ArcButtonPosition.BOTTOM_EDGE
styleModeArcButtonStyleMode弧形按钮样式模式。
默认值:ArcButtonStyleMode.EMPHASIZED_LIGHT
statusArcButtonStatus弧形按钮状态。
默认值:ArcButtonStatus.NORMAL
labelResourceStr弧形按钮显示文本。
backgroundBlurStyleBlurStyle弧形按钮背景模糊能力。
默认值:BlurStyle.NONE
backgroundColorColorMetrics弧形按钮背景颜色。
ArcButtonStyleMode需要设置为CUSTOM。
默认值:Color.Black
shadowColorColorMetrics弧形按钮阴影颜色。
默认值:Color.Black
shadowEnabledboolean弧形按钮阴影开关。
默认值:false
值为true时,显示阴影。值为false时,不显示阴影。
fontSizeLengthMetrics弧形按钮文本大小。
默认值:19fp
fontColorColorMetrics弧形按钮文本颜色。
ArcButtonStyleMode需要设置为CUSTOM。
默认值:Color.White
pressedFontColorColorMetrics弧形按钮按下文本颜色。
ArcButtonStyleMode需要设置为CUSTOM。
默认值:Color.White
fontStyleFontStyle弧形按钮文本样式。
默认值:FontStyle.Normal
fontFamilystring |Resource弧形按钮字体名。
fontMarginLocalizedMargin弧形按钮文本边距。
默认值:{start:24vp, top: 10vp,end: 24vp, bottom:16vp }
onTouchCallback< TouchEvent>弧形按钮手指触摸动作触发该回调。
onClickCallback<ClickEvent >弧形按钮点击动作触发该回调。

constructor

constructor(options: CommonArcButtonOptions)

弧形按钮的构造器。

原子化服务API: 从API version 18开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Circle

参数:

参数名类型必填说明
optionsCommonArcButtonOptions定义ArcButton组件的文本、背景色、阴影等参数。

CommonArcButtonOptions

ArcButton的默认样式或自定义样式参数。

原子化服务API: 从API version 18开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Circle

名称类型必填说明
positionArcButtonPosition上下弧形按钮类型属性。
默认值:ArcButtonPosition.BOTTOM_EDGE
styleModeArcButtonStyleMode弧形按钮样式模式。
默认值:ArcButtonStyleMode.EMPHASIZED_LIGHT
statusArcButtonStatus弧形按钮状态。
默认值:ArcButtonStatus.NORMAL
labelResourceStr弧形按钮显示文本。
backgroundBlurStyleBlurStyle弧形按钮背景模糊能力。
默认值:BlurStyle.NONE
backgroundColorColorMetrics弧形按钮背景颜色。
ArcButtonStyleMode需要设置为CUSTOM。
默认值:Color.Black
shadowColorColorMetrics弧形按钮阴影颜色。
默认值:Color.Black
shadowEnabledboolean弧形按钮阴影开关。
默认值:false
值为true时,显示阴影。值为false时,不显示阴影。
fontSizeLengthMetrics弧形按钮文本大小。
默认值:19fp
fontColorColorMetrics弧形按钮文本颜色。
ArcButtonStyleMode需要设置为CUSTOM。
默认值:Color.White
pressedFontColorColorMetrics弧形按钮按下文本颜色。
ArcButtonStyleMode需要设置为CUSTOM。
默认值:Color.White
fontStyleFontStyle弧形按钮文本样式。
默认值:FontStyle.Normal
fontFamilystring |Resource弧形按钮字体名。
fontMarginLocalizedMargin弧形按钮文本边距。
默认值:{start:24vp, top: 10vp,end: 24vp, bottom:16vp }
onTouchCallback< TouchEvent>弧形按钮手指触摸动作触发该回调。
onClickCallback<ClickEvent) >弧形按钮点击动作触发该回调。

ArcButtonPosition

定义ArcButton可设置的弧形按钮的类型。

原子化服务API: 从API version 18开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Circle

名称说明
TOP_EDGE0上弧形按钮,位于圆形屏幕上方。
BOTTOM_EDGE1底部弧形按钮,位于圆形屏幕底部。

ArcButtonStyleMode

定义ArcButton可设置弧形按钮样式模式。

原子化服务API: 从API version 18开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Circle

名称说明
EMPHASIZED_LIGHT0强调状态,亮色。
EMPHASIZED_DARK1强调状态,暗色。
NORMAL_LIGHT2正常状态,亮色。
NORMAL_DARK3正常状态,暗色。
CUSTOM4自定义按钮颜色和字体颜色。

ArcButtonStatus

定义ArcButton可设置的弧形按钮状态。

原子化服务API: 从API version 18开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Circle

名称说明
NORMAL0正常状态。
PRESSED1按压状态。
DISABLED2禁用状态。

示例

ArcButton使用示例。

topOptions定义了上弧形按钮,按钮文本为ButtonTop,字体大小为15fp,按钮状态为正常状态,按钮样式为亮色强调,启用阴影。

bottomOptions定义了底部弧形按钮,按钮文本为ButtonBottom,字体大小为15fp,按钮样式为亮色强调,启用阴影,设置了按钮的点击事件。

// xxx.ets
import {
  LengthMetrics,
  LengthUnit,
  ArcButton,
  ArcButtonOptions,
  ArcButtonStatus,
  ArcButtonStyleMode,
  ArcButtonPosition,
}  from '@kit.ArkUI';

@Entry
@ComponentV2
struct Index {
  @Local topOptions: ArcButtonOptions = new ArcButtonOptions({});
  @Local bottomOptions: ArcButtonOptions = new ArcButtonOptions({});

  aboutToAppear() {
    this.topOptions = new ArcButtonOptions({
      label: 'ButtonTop',
      status: ArcButtonStatus.NORMAL,
      position: ArcButtonPosition.TOP_EDGE,
      styleMode: ArcButtonStyleMode.EMPHASIZED_LIGHT,
      fontSize: new LengthMetrics(15, LengthUnit.FP),
      shadowEnabled: true
    })

    this.bottomOptions = new ArcButtonOptions({
      label: 'ButtonBottom',
      styleMode: ArcButtonStyleMode.EMPHASIZED_LIGHT,
      fontSize: new LengthMetrics(15, LengthUnit.FP),
      shadowEnabled: true,
      onClick: () => {
        console.info('click from ArcButton.');
      }
    })
  }

  build() {
    Stack() {
      Stack() {
        Circle({ width: 233, height: 233 })
          .strokeWidth(0.1)
          .fill(Color.White)

        Column() {
          ArcButton({ options: this.topOptions })
          Blank()
          ArcButton({ options: this.bottomOptions })

        }.width('100%')
        .height('100%')
      }.width(233)
      .height(233)
    }.width('100%')
    .height('100%')
    .alignContent(Alignment.Center)
    .backgroundColor(Color.Gray)
  }
}

你可能感兴趣的鸿蒙文章

harmony 鸿蒙图像AI分析错误码

harmony 鸿蒙ArcSlider

harmony 鸿蒙Chip

harmony 鸿蒙ChipGroup

harmony 鸿蒙ComposeListItem

harmony 鸿蒙ComposeTitleBar

harmony 鸿蒙advanced.Counter

harmony 鸿蒙弹出框 (Dialog)

harmony 鸿蒙DialogV2

harmony 鸿蒙DownloadFileButton

  • 所属分类: 后端技术
  • 本文标签: 鸿蒙 软件
  • 版权声明: 本文链接 https://seaxiang.com/blog/FnquEc