1

アクティビティのアクション バー (v7.Toolbar) に SwitchCompat があります。オフのときはcolorStructure、オンのときはcolorAccentにしたい。Lollipop より前のバージョンでは問題なく動作しますが、Lollipop では、アクティブ化されたスイッチがどこにも定義されていない色で描画されます。「material_deep_teal_200」のようです。それが私の唯一のスタイル定義です:

<?xml version="1.0" encoding="utf-8"?>
<resources>
	<style name="Theme.Default" parent="Theme.AppCompat.Light.NoActionBar">
		<item name="colorPrimary">@color/colorPrimary</item>
		<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
		<item name="colorAccent">@color/colorAccent</item>
		<!--<item name="android:windowNoTitle">true</item>-->
		<item name="windowActionBar">false</item>
		<item name="colorSwitchThumbNormal">@color/colorStructure</item>
		<item name="colorControlNormal">@color/colorPrimary</item>
		<item name="colorControlActivated">@color/colorAccent</item>
		<item name="colorControlHighlight">@color/colorAccent</item>
		<!--<item name="selectBarStyle">@style/DefaultSelectBar</item>-->
	</style>
</resources>

これがアクティビティ xml の始まりです。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:tools="http://schemas.android.com/tools"
              xmlns:app="http://schemas.android.com/apk/res-auto"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical"
	>

	<android.support.v7.widget.Toolbar
		android:id="@+id/toolbar"
		android:layout_height="wrap_content"
		android:layout_width="match_parent"
		app:theme="@style/Widget.AppCompat.Toolbar"
		app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
		android:background="@color/colorPrimary"
		android:paddingRight="@dimen/abc_dropdownitem_text_padding_right">

		<FrameLayout
			android:layout_width="match_parent"
			android:layout_height="wrap_content"
			android:paddingRight="@dimen/abc_action_bar_icon_vertical_padding_material">

			<ImageButton
				android:layout_width="wrap_content"
				android:layout_height="wrap_content"
				android:id="@+id/helpButton"
				android:src="@drawable/ic_help_large"
				android:background="#00000000"
				android:layout_gravity="center"/>

			<android.support.v7.widget.SwitchCompat
				android:layout_width="wrap_content"
				android:layout_height="wrap_content"
				android:id="@+id/master_switch"
				android:clickable="true"
				android:checked="true"
				android:gravity="center"
				android:layout_gravity="right"
				/>

		</FrameLayout>

		</android.support.v7.widget.Toolbar>

KitKat と Lollipop でスイッチのカスタム カラーを同じにするには、何を変更する必要がありますか?

ありがとう

4

1 に答える 1