以编程方式更改Android Overflow菜单图标

我一直在寻找一种方法来以编程方式更改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);

}

现在,我将不得不使用样式。


慕码人8056858
浏览 423回答 3
3回答

犯罪嫌疑人X

有一种用于更改溢出图标的简单易用的解决方案。有一个示例如何更改溢出图标的颜色,但是您可以对其进行调整以更改图像: 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);        }    }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android