我正在构建一个 Android 应用程序,我使用操作栏图标包中的图标在操作栏中使用。我通过 menu
文件夹中的 xml 文件定义它们。
有没有办法“着色”这些图标,使它们都是相同的颜色?
到目前为止,我必须使用图像编辑软件手动完成,但如果我决定更改颜色,我必须从头再来。
我知道 ImageView
有一个 android:tint
属性,但我还没有找到将它用于菜单图标的方法。
谢谢
最佳答案
可能有更好的方法来做到这一点,但一种选择是在代码中重绘图标。
假设您有一个收藏夹菜单项并希望将其染成灰色:
MenuItem favoriteItem = menu.findItem(R.id.action_favorite);
Drawable newIcon = (Drawable)favoriteItem.getIcon();
newIcon.mutate().setColorFilter(Color.argb(255, 200, 200, 200), PorterDuff.Mode.SRC_IN);
favoriteItem.setIcon(newIcon);
您也可以使用颜色资源,例如
newIcon.mutate().setColorFilter(getResources().getColor(R.color.myCustomTint), PorterDuff.Mode.SRC_IN);
关于android - 色调菜单图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24301235/