3

私の質問はおそらく視覚的に尋ねられるのが一番です - SwitchCompatAndroid 設定アプリでのようにスイッチが見えるようにしたいです:

これはオフです:

ここに画像の説明を入力

これは次のとおりです。

ここに画像の説明を入力

しかし、何らかの理由で、私のSwitchCompatスイッチはオフのときに次のようになります。

ここに画像の説明を入力

右側に伸びる灰色の「トラック」はありません。しかし、オンにすると、期待どおりに見えます。

ここに画像の説明を入力

ご覧のとおり、アプリケーションにカスタムの色合いを適用しました。私のカスタム色合いは次のように適用されました:

<activity
    android:name=".editor.MySettingsEditor"
    android:theme="@style/Theme.MyCustomTheme" />

そして、styles.xml で:

<style name="Theme.MyCustomTheme" parent="Theme.AppCompat">    
    <item name="colorAccent">@color/myColorAccent</item>
    <item name="colorPrimary">@color/myColorPrimary</item>
    <item name="colorPrimaryDark">@color/myColorPrimaryDark</item>
    <item name="alertDialogTheme">@style/AppCompatAlertDialogStyle</item>
</style>

この問題を引き起こしているのが私のカスタム スタイルではないことを確認するために、次のようにして削除しました。

<activity
    android:name=".editor.MySettingsEditor"
    android:theme="@style/Theme.AppCompat" />

それでも、「オフ」トラックは表示されませんが、色合いは Android のデフォルトのティールになります。

ここに画像の説明を入力 ここに画像の説明を入力

SwitchCompatオフ状態のときにスイッチに灰色のトラックが表示されないのはなぜですか?

SwitchCompat を記述する XML は非常に単純です。

    <android.support.v7.widget.SwitchCompat
        android:id="@+id/checkbox"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_weight="1"/>

ありがとう!

4

2 に答える 2

6

colorControlActivatedアクティブな色と非アクティブな色を設定することで、カスタムの色合いを適用できますcolorSwitchThumbNormal。トラックの色を変更したい場合は、設定できますandroid:colorForeground

<style name="CustomSwitch" parent="Theme.AppCompat">  
    <!-- active thumb-->
    <item name="colorControlActivated">@color/active_switch_color</item>

    <!-- inactive thumb-->
    <item name="colorSwitchThumbNormal">@color/inactive_switch_color</item>

    <!-- inactive track color -->
    <item name="android:colorForeground">@color/inactive_track_color</item>
</style>  

カスタム テーマをビューに直接設定する場合:

<android.support.v7.widget.SwitchCompat
        android:id="@+id/checkbox"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:theme="@style/CustomSwitch"/>
于 2016-04-16T20:03:05.557 に答える