在导航抽屉菜单项中更改开关颜色
Change Switch color in Navigation Drawer menu item
我在更改导航抽屉开关项目的颜色时遇到问题。我希望每个人都有与其动作相关的自定义颜色。
我用这样的菜单定义了我的导航抽屉:
<item
android:title="@string/nav_drawer_services_title">
<menu>
<group android:checkableBehavior="none">
<item
android:id="@+id/Red_selector"
android:title="@string/nav_drawer_red_title"
app:actionLayout="@layout/switch_layout"/>
<item
android:id="@+id/Blue_selector"
android:title="@string/nav_drawer_blue_title"
app:actionLayout="@layout/switch_layout"/>
</group>
</menu>
</item>
我的switch_layout.xml是这样的:
<Switch
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:onClick="toggleService"
android:checkable="true"
android:checked="true"
style="@style/MyCustomSwitchTheme"
/>
我已尝试按照此处的建议更改 MyCustomSwitchTheme
:Change "on" color of a Switch,但切换项的颜色保持不变。
为什么我的自定义主题样式没有覆盖默认样式?我似乎无法从 colors.xml
和 AppTheme
中定义的 colorAccent
更改这些开关。
有人知道解决这个问题的方法吗?
编辑: 这是样式代码,很抱歉没有将其包含在 OP 中。
<style name="MyCustomSwitchTheme">
<!-- active thumb & track color (30% transparency) -->
<item name="colorControlActivated">#46bdbf</item>
<!-- inactive thumb color -->
<item name="colorSwitchThumbNormal">@color/light_gray_color</item>
<!-- inactive track color (30% transparency) -->
<item name="android:colorForeground">#42221f1f</item>
</style>
只需使用 android:theme="@style/MyCustomSwitchTheme"
改为style="@style/MyCustomSwitchTheme"
我在更改导航抽屉开关项目的颜色时遇到问题。我希望每个人都有与其动作相关的自定义颜色。
我用这样的菜单定义了我的导航抽屉:
<item
android:title="@string/nav_drawer_services_title">
<menu>
<group android:checkableBehavior="none">
<item
android:id="@+id/Red_selector"
android:title="@string/nav_drawer_red_title"
app:actionLayout="@layout/switch_layout"/>
<item
android:id="@+id/Blue_selector"
android:title="@string/nav_drawer_blue_title"
app:actionLayout="@layout/switch_layout"/>
</group>
</menu>
</item>
我的switch_layout.xml是这样的:
<Switch
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:onClick="toggleService"
android:checkable="true"
android:checked="true"
style="@style/MyCustomSwitchTheme"
/>
我已尝试按照此处的建议更改 MyCustomSwitchTheme
:Change "on" color of a Switch,但切换项的颜色保持不变。
为什么我的自定义主题样式没有覆盖默认样式?我似乎无法从 colors.xml
和 AppTheme
中定义的 colorAccent
更改这些开关。
有人知道解决这个问题的方法吗?
编辑: 这是样式代码,很抱歉没有将其包含在 OP 中。
<style name="MyCustomSwitchTheme">
<!-- active thumb & track color (30% transparency) -->
<item name="colorControlActivated">#46bdbf</item>
<!-- inactive thumb color -->
<item name="colorSwitchThumbNormal">@color/light_gray_color</item>
<!-- inactive track color (30% transparency) -->
<item name="android:colorForeground">#42221f1f</item>
</style>
只需使用 android:theme="@style/MyCustomSwitchTheme"
改为style="@style/MyCustomSwitchTheme"