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

介绍

本示例使用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 声望0 粉丝