【鸿蒙next开发】ArkUI框架:UI界面-@ohos.arkui.shape (形状)

 往期鸿蒙5.0全套实战文章必看:(文中附带鸿蒙5.0全栈学习资料)


@ohos.arkui.shape (形状)

在 clipShape 和 maskShape 接口中可以传入对应的形状。

说明

从API version 12开始支持。后续版本的新增形状,采用上角标单独标记形状的起始版本。

示例效果请以真机运行为准,当前DevEco Studio预览器不支持。

导入模块

import { CircleShape, EllipseShape, PathShape, RectShape } from "@kit.ArkUI";

CircleShape

用于 clipShape 和 maskShape 接口的圆形形状。

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

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

constructor

constructor(options?: ShapeSize)

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

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

参数名类型必填说明
optionsShapeSize形状的大小。

继承自BaseShape

EllipseShape

用于 clipShape 和 maskShape 接口的椭圆形状。

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

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

constructor

constructor(options?: ShapeSize)

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

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

参数名类型必填说明
optionsShapeSize形状的大小。

继承自BaseShape

PathShape

用于 clipShape 和 maskShape 接口的路径。

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

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

constructor

constructor(options?: PathShapeOptions)

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

元服务API: 从API version 12开始,该接口支持在元服务中使用。

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

参数名类型必填说明
optionsPathShapeOptions路径参数。

继承自CommonShapeMethod

commands

commands(commands: string): PathShape

设置路径的绘制指令。

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

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

参数名类型必填说明
commandsstring路径的绘制指令。

RectShape

用于 clipShape 和 maskShape 接口的矩形形状。

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

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

constructor

constructor(options?: RectShapeOptions | RoundRectShapeOptions)

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

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

参数名类型必填说明
optionsRectShapeOptions | RoundRectShapeOptions矩形形状参数。

继承自BaseShape

radiusWidth

radiusWidth(rWidth: number | string): RectShape

设置矩形形状圆角半径的宽度。

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

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

参数名类型必填说明
rWidthnumber | string矩形形状圆角半径的宽度。

radiusHeight

radiusHeight(rHeight: number | string): RectShape

设置矩形形状圆角半径的高度。

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

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

参数名类型必填说明
rHeightnumber | string矩形形状圆角半径的高度。

radius

radius(radius: number | string | Array<number | string>): RectShape

设置矩形形状的圆角半径。

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

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

参数名类型必填说明
radiusnumber | string | Array<number | string>矩形形状的圆角半径。仅接受数组的前四个元素,分别为矩形左上,右上,左下,右下的圆角半径。

ShapeSize

形状的尺寸参数。

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

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

名称类型必填说明
widthnumber | string形状的宽度。
heightnumber | string形状的高度。

PathShapeOptions

PathShape 的构造函数参数。

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

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

名称类型必填说明
commandsstring绘制路径的指令。更多说明请参考commands支持的绘制命令

RectShapeOptions

RectShape 的构造函数参数。

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

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

继承自ShapeSize

名称类型必填说明
radiusnumber | string | Array<number | string>矩形形状的圆角半径。

RoundRectShapeOptions

RectShape 带有半径的构造函数参数。

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

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

继承自ShapeSize

名称类型必填说明
radiusWidthnumber | string矩形形状圆角半径的宽度。
radiusHeightnumber | string矩形形状圆角半径的高度。

BaseShape

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

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

继承自CommonShapeMethod

width

width(width: Length): T

设置形状的宽度。

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

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

参数名类型必填说明
widthLength形状的宽度。

height

height(height: Length): T

设置形状的高度。

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

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

参数名类型必填说明
heightLength形状的高度。

size

size(size: SizeOptions): T

设置形状的大小。

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

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

参数名类型必填说明
sizeSizeOptions形状的大小。

CommonShapeMethod

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

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

offset

offset(offset: Position): T

设置相对于组件布局位置的坐标偏移。

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

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

参数名类型必填说明
offsetPosition相对于组件布局位置的坐标偏移。

fill

fill(color: ResourceColor): T

设置形状的填充区域的透明度,黑色表示完全透明,白色表示完全不透明。

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

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

参数名类型必填说明
colorResourceColor形状的填充区域的透明度,黑色表示完全透明,白色表示完全不透明。

position

position(position: Position): T

设置形状的位置。

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

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

参数名类型必填说明
positionPosition设置形状的位置。

示例

import { CircleShape, EllipseShape, PathShape, RectShape } from "@kit.ArkUI";

@Entry
@Component
struct ShapeExample {
  build() {
    Column({ space: 15 }) {
      Text('CircleShape, position').fontSize(20).width('75%').fontColor('#DCDCDC')
      Image($r('app.media.startIcon'))
        .clipShape(new CircleShape({ width: '280px', height: '280px' }).position({ x: '20px', y: '20px' }))
        .width('500px').height('280px')

      Text('EllipseShape, offset').fontSize(20).width('75%').fontColor('#DCDCDC')
      Image($r('app.media.startIcon'))
        .clipShape(new EllipseShape({ width: '350px', height: '280px' }).offset({ x: '10px', y: '10px' }))
        .width('500px').height('280px')

      Text('PathShape, fill').fontSize(20).width('75%').fontColor('#DCDCDC')
      Image($r('app.media.startIcon'))
        .maskShape(new PathShape().commands('M100 0 L200 240 L0 240 Z').fill(Color.Red))
        .width('500px').height('280px')
    
      Text('RectShape, width, height, fill').fontSize(20).width('75%').fontColor('#DCDCDC')
      Image($r('app.media.startIcon'))
        .maskShape(new RectShape().width('350px').height('280px').fill(Color.Red))
        .width('500px').height('280px')
    }
    .width('100%')
    .margin({ top: 15 })
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值