HarmonyOS 背景渐变色linearGradient怎么通过@State里定义的对象动态取值动态改变渐变色

HarmonyOS 背景渐变色linearGradient怎么通过@State里定义的对象动态取值动态改变渐变色 -鸿蒙开发者社区

HarmonyOS 背景渐变色linearGradient怎么通过@State里定义的对象动态取值动态改变渐变色 -鸿蒙开发者社区

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

示例参考如下:

import { HashMap } from '@kit.ArkTS'

@Entry
@Component
struct Index {
  @State themeName: string = ''
  @State GradientBg: Array<[ResourceColor, number]> = new Array();
  @State GradientBgMap: HashMap<string, Array<[ResourceColor, number]>> =
    new HashMap<string, Array<[ResourceColor, number]>>()

  aboutToAppear(): void {
    this.GradientBgMap.set("name1", [['#ffe3d236', 0.0], ['#ff5bb8b8', 0.5], ['#ffbf4cba', 1.0]])
    this.GradientBgMap.set("name2", [['#ff3684e3', 0.0], ['#ff545f5f', 0.5], ['#ff5cd013', 1.0]])
    this.themeName = 'name1'
    this.GradientBg = this.GradientBgMap.get("name1")
  }

  build() {
    Column() {
      Button("点击切换渐变背景属性")
        .onClick(() => {
          if (this.themeName == 'name1') {
            this.GradientBg = this.GradientBgMap.get("name2")
            this.themeName = 'name2'
          } else {
            this.GradientBg = this.GradientBgMap.get("name1")
            this.themeName = 'name1'
          }
        })
      Row()
        .width('90%')
        .height(130)
        .backgroundColor(Color.White)
        .borderRadius(14)
        .linearGradient({
          angle: 180,
          colors: this.GradientBg
        })
    }
  }
}
分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS linearGradient渐变色问题
22浏览 • 1回复 待解决
HarmonyOS 字体怎么实现渐变色
88浏览 • 1回复 待解决
HarmonyOS 组件背景是否支持渐变色
494浏览 • 1回复 待解决
HarmonyOS 文本渐变色怎么处理
160浏览 • 1回复 待解决
组件如何实现渐变色
2154浏览 • 1回复 待解决
HarmonyOS 环状渐变色进度条
189浏览 • 1回复 待解决
Rect组件支持渐变色填充吗?
421浏览 • 1回复 待解决
HarmonyOS 如何实现文字渐变色效果
266浏览 • 1回复 待解决
如何设置边框颜色为渐变色
641浏览 • 1回复 待解决
Progress进度条如何实现渐变色
1050浏览 • 1回复 待解决
HarmonyOS Canvas设置渐变色没有效果
216浏览 • 1回复 待解决
HarmonyOS 背景半透明渐变怎么设置
171浏览 • 1回复 待解决
使用linearGradient属性色值渐变问题
395浏览 • 1回复 待解决
文字背景颜色渐变显示
2320浏览 • 1回复 待解决