在Android工具栏中更改复选框菜单项的颜色

5

如何更改工具栏子菜单中未选中的菜单项的颜色?

我知道选中状态由相应主题的accentColor定义。但我找不到定义未选中状态颜色的方法。

带有勾选的工具栏子菜单 仅为明确起见:我不能使用自定义布局XML定义工具栏菜单项,也无法直接访问视图对象和复选框。

像这样的菜单是这样定义的:

<menu>
        <item
                android:id="@+id/sortByDescriptionDescendingAction_mediumDark"
                android:icon="@drawable/ic_sort_white_24dp"
                android:title="@string/sortByDescriptionDescendingAction"
                android:checkable="true"/>
        <item
                android:id="@+id/sortByDescriptionAscendingAction_mediumDark"
                android:icon="@drawable/ic_sort_white_24dp"
                android:title="@string/sortByDescriptionAscendingAction"
                android:checkable="true"/>
        <item
                android:id="@+id/sortByDateDescendingAction_mediumDark"
                android:icon="@drawable/ic_sort_white_24dp"
                android:title="@string/sortByDateDescendingAction"
                android:checkable="true"
                android:checked="true"/>
        <item
                android:id="@+id/sortByDateDescAction_mediumDark"
                android:icon="@drawable/ic_sort_white_24dp"
                android:title="@string/sortByDateAscendingAction"
                android:checkable="true"/>
</menu>
1个回答

7

尝试使用 android 的 R.attr,请参考 这个链接

在您的 values/styles.xml 中:

定义自定义样式 toolbar:

  <style name="CustomPopupTheme" parent="ThemeOverlay.AppCompat.Dark">  
    <item name="android:colorControlActivated">@color/BLUE</item>
    <item name="android:colorControlHighlight">@color/BLUE</item>
    <item name="android:colorControlNormal">@color/white</item>
</style> 

应用以下命令进行操作:

<android.support.v7.widget.Toolbar  
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/CustomPopupTheme" />

我很乐意帮忙,但是你所建议的在布局文件中定义复选框的可选菜单项并不可访问。 - sdippl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接