9

私は android.support.v7.widget.SwitchCompat を使用していますが、次の問題が発生しています

  • colorControlActivated を含む私のスタイルは適用されません
  • Android 名前空間と Res-Auto を使用したパディングの切り替えは効果がありません
  • サムテキストをすべて大文字に設定する方法

私のコード

Styles.xml

私は親と Theme.AppCompat.Light.NoActionBar で試したことに注意してください

<style name="ToggleSwitchStyle" parent="Theme.AppCompat">
    <item name="colorControlActivated">@color/emerald</item>
</style>

XML レイアウトで定義された私の SwitchCompat

<android.support.v7.widget.SwitchCompat
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:checked="true"
    android:padding="5dp"
    android:textOff="@string/no"
    android:textOn="@string/yes"
    app:showText="true"
    android:switchPadding="5dp"
    app:switchPadding="10dp"
    app:theme="@style/ToggleSwitchStyle"
    android:theme="@style/ToggleSwitchStyle"
    android:textAllCaps="true"
    app:thumbTextPadding="5dp"
    >

したがって、上記の textAllCaps では、つまみのテキストをすべて大文字にしません。

スイッチパディングは効果がありません

Res-Auto または Android 名前空間を使用するテーマは、アクティブな色には影響しません。

ただし、素材テーマの色のアクセントを変更することで、アクティブな色を変更できます

 <!-- Application theme. -->
    <style name="MaterialDesign" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/yellow</item>
    </style>
4

1 に答える 1

1

Styles.xml が values-v21 フォルダーにあることを確認してください。color を変更するための switchcompat にも同様の問題がありました。

これは私にとってはうまくいきました。styles.xml を values-v21 フォルダーに保持し、ColorAccent を使用してスイッチの色を変更します。

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <style name="colortoggle">
        <item name="colorAccent">@color/continue_button</item>
    </style>
</resources>

サムの問題: textAppearance および関連する setTypeface() メソッドはラベル テキストの書体とスタイルを制御しますが、switchTextAppearance および関連する seSwitchTypeface() メソッドはサムの書体とスタイルを制御します。

于 2015-06-30T06:56:09.433 に答える