HarmonyOS 鸿蒙Next commands 绘制arc控件

发布于 1周前 作者 phonegap100 来自 鸿蒙OS

HarmonyOS 鸿蒙Next commands 绘制arc控件

先上图:

Screenshot_20241031155650943.jpeg

import { PathShape } from ‘@kit.ArkUI’;

@Builder
function DefaultBuilder() {
}

@Component
export struct ArcLayoutView {
@BuilderParam contentView?: CustomBuilder = DefaultBuilder;
@State viewSzie: SizeOptions = { width: 0, height: 0 }
@State arcHeight: number = 20

build() {
Stack() {
if (this.contentView) {
this.contentView()
}
}
.constraintSize({ minHeight: ${this.arcHeight}vp })
.clipShape(new PathShape({
commands: <br> M0 0<br> H${(vp2px(this.viewSzie.width as number))}<br> V${(vp2px(this.viewSzie.height as number) - vp2px(this.arcHeight))}<br> H0 V0<br> M0 ${(vp2px(this.viewSzie.height as number) - vp2px(this.arcHeight))}<br> Q${(vp2px(this.viewSzie.width as number) /<br> 2)} ${(vp2px(this.viewSzie.height as number) +<br> vp2px(this.arcHeight))} ${(vp2px(this.viewSzie.width as number))} ${(vp2px(this.viewSzie.height as number) -<br> vp2px(this.arcHeight))}<br>
}))
.onSizeChange((oldValue: SizeOptions, newValue: SizeOptions) => {
this.viewSzie = newValue
})
.shadow({
radius: vp2px(10),
color: Color.Gray,
offsetX: 0,
offsetY: 0
})
}
}

使用:

@Builder
ContentView() {
Column() {
ArcLayoutView({ contentView: () => this.ArcContent(), arcHeight: 50 })

}
.alignItems(HorizontalAlign.Start)
.width(CommonConstants.FULL_PERCENT)
}

@Builder
ArcContent() {
Column() {
Image($r(‘app.media.meinv’))
.objectFit(ImageFit.Cover)
.width(‘100%’)
.height(‘200vp’)
}
.width(‘100%’)
}

1 回复

在HarmonyOS鸿蒙系统中,绘制arc控件(弧形控件)通常涉及Canvas绘图API的使用。以下是一个基本的实现思路,你可以在你的自定义组件或页面中应用这些步骤:

  1. 创建自定义组件:首先,你需要创建一个自定义组件来承载你的弧形绘制逻辑。

  2. 重写onDraw方法:在自定义组件中,重写onDraw(Canvas canvas)方法。这是绘制内容的核心方法。

  3. 使用Paint对象:创建一个Paint对象,并设置其颜色、样式(如STROKE表示绘制边框)、抗锯齿等属性。

  4. 绘制弧形:使用canvas.drawArc(RectF oval, float startAngle, float sweepAngle, Paint paint)方法来绘制弧形。其中,RectF oval定义了弧形的边界矩形,startAngle是起始角度(以度为单位,0度在右侧),sweepAngle是扫过的角度,Paint paint是绘制属性。

  5. 调整参数:根据需要调整RectFstartAnglesweepAngle的值,以获得所需的弧形效果。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。希望这些信息能帮助你成功绘制arc控件。

回到顶部