android - 色调菜单图标

标签 android xml menu

我正在构建一个 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/

相关文章:

jquery - 悬停()背景颜色问题

Android 菜单到选项卡式操作栏

css - 从简单的 XML 文件到 XForms 的 XSL 转换并应用 CSS

android - 如何提取合并的proguard规则

android - 下载完成但大小错误-eclipse 和 android

android - 避免按钮多次快速点击

python - 使用 python 的 lxml 剥离内联标签

Javascript - 无法从嵌套 XML 文件获取数据 - 无法读取 null 属性

jQuery 切换菜单隐藏/显示(新菜单打开时关闭其他菜单)

android - GraphView,如何显示x轴标签?