android<的溢出菜单图标颜色不会改变21

时间:2016-04-25 15:07:31

标签: android android-xml android-toolbar android-styles

我正在尝试更改工具栏的溢出菜单图标颜色,如下所示: -

class X
  def initialize(an_arg)
  end
end

describe X do
  describe '.new'
    it "takes one argument" do
      expect(X).to respond_to(:new).with(1).argument
    end
  end
end

两个自定义主题: -

<android.support.v7.widget.Toolbar 
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  android:id="@+id/toolbar_actionbar"
  android:layout_width="match_parent"
  android:layout_height="?attr/actionBarSize"
  app:layout_scrollFlags="scroll|enterAlways"
  app:popupTheme="@style/CustomPopup"
  app:theme="@style/MyCustomToolBarTheme">    
</android.support.v7.widget.Toolbar>

我也可以更改标题/菜单图标颜色。 但溢出图标颜色总是黑色。我甚至尝试指定自定义图标,但也无效。

3 个答案:

答案 0 :(得分:0)

我通过将溢出图标替换为我自己的溢出图标并自行设置其颜色来解决问题。

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<!-- Customize your theme here. -->
<item name="actionOverflowButtonStyle">@style/OverflowMenuButton</item>
</style>


<style name="OverflowMenuButton" parent="Theme.AppCompat.NoActionBar" >
    <item name="android:src">@drawable/overflow</item>
</style>

答案 1 :(得分:0)

您可以尝试下一个:

    public static void setOverflowButtonColor(final Toolbar toolbar, final int color) {
    Drawable drawable = toolbar.getOverflowIcon();
    if(drawable != null) {
        drawable = DrawableCompat.wrap(drawable);
        DrawableCompat.setTint(drawable.mutate(), color);
        toolbar.setOverflowIcon(drawable);
    }
}

答案 2 :(得分:0)

更改您的父母来自&#34; ThemeOverlay.AppCompat.Light&#34; to&#34; Theme.AppCompat.Light&#34;。

<style name="ToolbarOverflow" parent="Theme.AppCompat.Light">
    <item name="android:textColorSecondary">@color/white</item>
</style>