android 如何避免着色图标与painerResource().它画我的矢量在黑色

im9ewurl  于 2022-12-16  发布在  Android
关注(0)|答案(2)|浏览(99)

好了,我已经创建了自己的.SVG矢量图标,并将其作为XML导入Android Studio。现在我尝试使用相同的矢量创建一个图标。但是,当我在painerResource()中指定该矢量时,它将其绘制为黑色。而我的原始SVG具有多种颜色。有什么原因吗?

Icon(
     painter = painterResource(id = R.drawable.ic_google_logo),
     contentDescription = "Google Button"
    )

当我添加该图标时,我看到的是:

这是图标的实际显示方式:

7cwmlq89

7cwmlq891#

Icon应用默认色调(LocalContentColor.current.copy(alpha = LocalContentAlpha.current)
使用**tint= Color.Unspecified**可避免此问题:

Icon(
     painter = painterResource(id = R.drawable.ic_google_logo),
     contentDescription = "Google Button",
     tint= Color.Unspecified
    )
mwg9r5ms

mwg9r5ms2#

老实说,我不认为接受的答案是正确的做法。图标自动着色到必要的上下文颜色。
如果你想显示一个没有着色的图标,我建议使用一个图像代替:

Image(
    painter = painterResource(id = R.drawable.ic_google_logo),
    contentDescription = "Google Button"
)

相关问题