2015-06-29 11 views
6

Używam android.support.v7.widget.SwitchCompat i jestem napotykają następujące problemyAndroid: SwitchCompat, wyściółka i kolor wydaje

  • Mój styl, który obejmuje colorControlActivated nie stosuje
  • Przełącznik wyściółkę używając nazw Android i res-Auto nie ma wpływu
  • Jak ustawić tekst kciuka być wszystkie czapki

Mój kod

Styles.xml

Uwaga Próbowałem z Żaden rodzic i Theme.AppCompat.Light.NoActionBar

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

Moja SwitchCompat zdefiniowane w układzie XML

<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" 
    > 

Więc w powyższych textAllCaps robi nie sprawiają, że tekst na kciuku wszystkie czapki.

Przełącznik wyściółka ma wpływu

Tematem korzystając Res-Auto lub nazw Android nie ma wpływu na aktywnym kolorem.

Jednak mogę zmienić aktywny kolor zmieniając akcent koloru na mojej materialnej tematu

<!-- 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> 

Odpowiedz

0

Upewnij się, że znajduje się w folderze Styles.xml Wartości-V21. Miałem podobne problemy z Switchcompat w przypadku zmiany koloru.

To zadziałało dla mnie. Przechowywanie pliku styles.xml w folderze values-v21 i ColorAccent w celu zmiany koloru przełącznika.

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

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

Do wydania kciuka: textAppearance i powiązany setTypeface() metody kontrolowania krój i styl tekstu etykiety, natomiast switchTextAppearance i powiązany seSwitchTypeface() metody kontrolowania że kciuka.