我一直在寻找一种方法来以编程方式更改android中溢出菜单图标的颜色。我发现的唯一选择是通过添加自定义样式来永久更改图标。问题在于,在不久的将来,我们将需要在使用应用程序时更改此设置。我们的应用是一系列在线平台的扩展,因此用户可以输入其平台的网络网址。这些都有自己的样式,将通过对应用程序的API调用获取。这些可能会使我改变图标的颜色...目前,我在操作栏中更改了其他图标,如下所示:if (ib != null){ Drawable resIcon = getResources().getDrawable(R.drawable.navigation_refresh); resIcon.mutate().setColorFilter(StyleClass.getColor("color_navigation_icon_overlay"), PorterDuff.Mode.SRC_ATOP); ib.setIcon(resIcon);}现在,我将不得不使用样式。
3 回答
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
有一种用于更改溢出图标的简单易用的解决方案。有一个示例如何更改溢出图标的颜色,但是您可以对其进行调整以更改图像:
private void setOverflowIconColor(int color) {
Drawable overflowIcon = toolbar.getOverflowIcon();
if (overflowIcon != null) {
Drawable newIcon = overflowIcon.mutate();
newIcon.setColorFilter(color, PorterDuff.Mode.MULTIPLY);
toolbar.setOverflowIcon(newIcon);
}
}
- 3 回答
- 0 关注
- 422 浏览
添加回答
举报
0/150
提交
取消