有color:'Color.Red',但是在Image().fillColor(this.color)中颜色并没有显示出来(HarmonyOS 鸿蒙Next)
有color:‘Color.Red’,但是在Image().fillColor(this.color)中颜色并没有显示出来(HarmonyOS 鸿蒙Next) 新建了接口:
interface Images {
url:string
count:number
color:string
}
也声明了数组:
@State images : Images[] = [
{url:'app.media.ic_public_view_grid',count:1,color:'#faff0000'},
{url:'app.media.ic_public_view_grid',count:2,color:'Color.Orange'},
{url:'app.media.ic_public_view_grid',count:3,color:'Color.Yellow'},
{url:'app.media.ic_public_view_grid',count:5,color:'Color.Green'},
{url:'app.media.ic_public_view_grid',count:6,color:'Color.Blue'},
{url:'app.media.ic_public_view_grid',count:7,color:'Color.Grey'}
]
但是用在图片上的时候,发现只有第一个的颜色显示了:
Image($r(item.url))
.fillColor(item.color)
是因为this.color
代替的字符串形式的“Color.Red”跟Image(Color.Red)
中的Color.Red
不一样吗
更多关于有color:'Color.Red',但是在Image().fillColor(this.color)中颜色并没有显示出来(HarmonyOS 鸿蒙Next)的实战教程也可以访问 https://www.itying.com/category-93-b0.html
fillColor中的Color.Red 是一个官方定义的Color枚举类型
找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:BV1S4411E7LY/?p=17
是的,你可以把接口中的color定义为联合类型color: String | Color,然后在数据中传值时color:Color.Red,不要加单引号
有要学HarmonyOS AI的同学吗,联系我:https://www.itying.com/goods-1206.html
类型不对,`fillColor`的参数类型是 `ResourceColor` = `Color` | `number` | `string` | `Resource`,`String`类型用十六进制、`RGB`、`RGBA`等方式表示,你这种`'Color.Red'`写法是错误的
所以我的color:"Color.Red"
这样的写在fillColor()
中会被认为是String类型而不是Color吗,也就是说fillColor(Color.Red)
中的Color.Red
并不是一个字符串吗,
在HarmonyOS鸿蒙Next中,若使用color: Color.Red
并在Image().fillColor(this.color)
中颜色未显示,可能是由于颜色值传递或解析问题。Color.Red
应直接传递为颜色对象,而非字符串。正确写法应为color: Color.Red
,确保fillColor
方法接收的是颜色对象而非字符串。检查代码确保颜色值正确传递。