实现渐变前景色鸿蒙示例代码

鸿蒙场景化示例代码技术工程师
发布于 2025-3-7 15:48
浏览
0收藏

本文原创发布在华为开发者社区

介绍

本示例使用Gauge将数据展示为环形图表来实现渐变前景色。

实现渐变前景色源码链接

效果预览

实现渐变前景色鸿蒙示例代码-鸿蒙开发者社区

使用说明

如果在运行该示例代码时,出现运行不了的情况,可尝试选择DevEco Studio菜单栏Build里面的Clean Project选项,来清理工程。

实现思路

  1. 使用将数据展示为环形图表
  2. 通过点击增加、减少按钮来改变数据,进而改变环形图表实现渐变效果
    核心代码如下:
Gauge({ value: this.value, min: 1, max: 100 }) {
  Column() {
    Text(this.value.toString())
      .fontWeight(FontWeight.Medium)
      .width('62%')
      .fontColor('#ff182431')
      .maxFontSize('60.0vp')
      .minFontSize('30.0vp')
      .textAlign(TextAlign.Center)
      .margin({ top: '35%' })
      .textOverflow({ overflow: TextOverflow.Ellipsis })
      .maxLines(1)
  }.width('100%').height('100%')
}
.startAngle(210)
  .endAngle(150)
  .colors([[new LinearGradient([{ color: '#deb6fb', offset: 0 }, { color: '#ac49f5', offset: 1 }]), this.value],
    [new LinearGradient([{ color: '#bbb7fc', offset: 0 }, { color: '#bbb7fc', offset: 1 }]), 100 - this.value]])
  .width('80%')
  .height('80%')
  .strokeWidth(18)
  .description(this.descriptionBuilder)
  .trackShadow({ radius: 7, offsetX: 7, offsetY: 7 })
  .padding(18)
  .indicator(null)

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.

分类
收藏
回复
举报


回复
    相关推荐