【问题标题】: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

    【讨论】:

    • 我需要在运行时做,所以设置新主题不起作用
    猜你喜欢
    • 2017-12-07
    • 2016-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多