【问题标题】:How to set Toolbars NavIcon ripple color programmatically?如何以编程方式设置工具栏 NavIcon 波纹颜色?
【发布时间】:2017-01-04 11:32:20
【问题描述】:
Activity 的颜色需要在运行时改变。以编程方式设置工具栏和状态栏的颜色、文本颜色等可以正常工作。
改变 NavIcon 的颜色也可以正常工作。
final Drawable immutableNavIcon = toolbar.getNavigationIcon();
if (immutableNavIcon != null) {
Drawable navIcon = immutableNavIcon.mutate();
navIcon.setColorFilter(foregroundColor, PorterDuff.Mode.SRC_ATOP);
toolbar.setNavigationIcon(navIcon);
}
如何更改 NavIcon 的波纹颜色?
【问题讨论】:
标签:
android
android-toolbar
rippledrawable
【解决方案1】:
在工具栏中使用此主题..
<style name="ToolbarTheme"
parent="Widget.AppCompat.Toolbar">
<item name="actionMenuTextColor">#1bff3a</item>
<item name="colorControlNormal">#FFF</item>
<item name="colorControlActivated">#FFF</item>
<item name="android:textColorPrimary">#FFF</item>
<item name="actionButtonStyle">@style/Widget.AppCompat.ActionButton</item>
<item name="selectableItemBackground">?android:selectableItemBackground</item>
<item name="selectableItemBackgroundBorderless">?android:selectableItemBackground</item>
<item name="colorControlHighlight">@color/accentColor</item>
看这里background ripple effect