HarmonyOS 如何返回一个颜色?

将4个变量(分别描述透明度、红色、绿色和蓝色)转化为一个颜色。

export class ColorInfo {  
  readonly name:string;  
  readonly des:string;  
  readonly r:string;  
  readonly g:string;  
  readonly b:string;  
  readonly opacity:string;  
  
  constructor(name:string, des: string, r: string, g: string, b: string, opacity?: string) {  
    this.name = name;  
    this.des = des;  
    this.r = r;  
    this.g = g;  
    this.b = b;  
    this.opacity = opacity ?? '1';  
  }  
  
  getColor(): Color{  
  
    //这里要如何处理返回一个颜色  
  }  
}
HarmonyOS
2024-09-24 12:15:56
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

可以使用ResourceColor来接收RGBA颜色

参考链接如下:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-types-V5#resourcecolor

ColorInfo类中使用如下方法:

getColor(): ResourceColor{  
  return 'rgba(' + this.r + ',' + this.g + ',' + this.b + ',' + this.opacity + ')';  
}

输出颜色的demo:

@Entry  
@Component  
struct tabContent1 {  
  @State color: ResourceColor = '';  
  
  aboutToAppear(): void {  
    this.color = new ColorInfo('name','des','232','0','18','0.1').getColor();  
  }  
  build() {  
    Column().backgroundColor(this.color)  
      .width('100%')  
      .height('100%')  
  }  
}
分享
微博
QQ
微信
回复
2024-09-24 15:30:46
相关问题
如何生成一个十六进制的颜色色值?
317浏览 • 1回复 待解决
是否能定义一个返回的组件?
149浏览 • 1回复 待解决
HarmonyOS 如何遍历一个JSON Object
261浏览 • 1回复 待解决
HarmonyOS 如何实现一个遮罩层
281浏览 • 1回复 待解决
HarmonyOS 如何实现一个转圈效果
476浏览 • 2回复 待解决
如何创建一个window?
230浏览 • 1回复 待解决
HarmonyOS 如何实现一个气泡聊天框
259浏览 • 1回复 待解决