我从 material.io 下载了一些图标,但他们只提供黑色的图标。我看到了一个 youtube 视频,他们用来让你选择颜色。无论如何,我正在尝试将图标的颜色更改为白色。我没有任何运气。我试图在 android studio 中更改填充颜色,但它不起作用。任何帮助将不胜感激,例如确切的代码和要添加代码的文件。谢谢。
你可以简单地使用
android:tint="@android:color/white"
如前所述,可以直接使用Android Studio下载material.io图标。此解决方案显示导入矢量资产图标更易于管理,因为它们存储在单个位置(res/drawable),而不是将每个图标存储在特定密度文件夹(hdpi、xhdpi 等)中的图像资产。
现在您将有两种设置图标颜色的选项
或
imageView.setColorFilter(ContextCompat.getColor(context, android.R.color.white),
PorterDuff.Mode.MULTIPLY);
https://material.io/icons/ 实际上可以让你下载白色图标。
但是,根据您具体想要做什么,有几种选择。如果您只是想要白色图标(而不是在运行时更改它们),您可能会发现这个适用于 Android Studio 的插件很有用:https://github.com/konifar/android-material-design-icon-generator-plugin
它允许您直接在 Android Studio 中以您想要的任何颜色生成 Material Design 图标。下载这些不同颜色的图标的另一种选择是https://materialdesignicons.com/.
如果你想在运行时给图标上色,试试这样的事情:
imageView.setColorFilter(ContextCompat.getColor(context, android.R.color.white),
PorterDuff.Mode.MULTIPLY);
代替
android:src
我用属性
android:foreground
android:foreground="@drawable/ic_add"
对于那些没有得到他们想要的东西但尝试改变
PorterDuff
模式的人,以下是为我做的
imageView.setColorFilter(ContextCompat.getColor(context, android.R.color.white),
PorterDuff.Mode.SRC_ATOP);
也许 app:iconTint 帮助你,我写这个是因为以下参考。 材料设计 3
使用 Android Compose,你可以尝试:
Icon(
painter = painterResource(id = iconId),
contentDescription = null,
modifier = Modifier.size(28.dp),
tint = MaterialTheme.colorScheme.secondary // set the color of your choice
)