2015-02-24 4 views
0

Я использовал кнопку переключателя, все работает отлично, когда приложение запускает его на 4.2 и выше, но цвет текста совсем не изменился на белый в 4.0.4. Я пробовал все Возможное решениеЦвет переключателя кнопок Android не изменяется в 4.0.4

Мой Switch:

<Switch 
     android:layout_width="100dp" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/facilityassetdescription" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="7dp" 
     android:background="@drawable/offbuttonbg" 
     android:textColor="@style/toggle_text" 
     android:textOff="OFF" 
     android:textOn="ON" 
     android:thumb="@drawable/switchselector" /> 

Мой файл стиль

<style name="toggle_text"> 
     <item name="android:textColor">@color/toggle</item> 
    </style> 

Рез/цвет/toggle_text.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:state_checked="true" android:color="#ffffff"/> 
    <!-- Default State --> 
    <item android:color="#ffffff"/> 

</selector> 

Пожалуйста, дайте какие-либо идеи, чтобы избавиться от этой проблемы

+0

Оба цвета белые? Вы проверили, изменив один из цветов? –

+0

Здесь оба дисплея черного цвета. вместо белого – Madhu

+0

Попробуйте присвоить атрибуту цвет текста возможность рисования, а не цвет. Поместите toggle_text.xml в выпадающую папку и установите textColor = "@ drawable/toggle_text" и посмотрите, работает ли она. –

ответ

2

Использование ниже стиле:

<style name="toggle_text" parent="@android:style/TextAppearance.Small"> 
    <item name="android:textColor">@color/toggle</item> 
</style> 

И, в XML-файл для переключателя упоминанием андроида: атрибут switchTextAppearance вместо использования Android: TextColor:

<Switch 
    android:layout_width="100dp" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/facilityassetdescription" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="7dp" 
    android:background="@drawable/offbuttonbg" 
    android:switchTextAppearance="@style/toggle_text" 
    android:textOff="OFF" 
    android:textOn="ON" 
    android:thumb="@drawable/switchselector" /> 
+0

Не работает – Madhu

+0

Я отредактировал мой answer.once попробовать. – Ramesh

+0

Отлично, его работы. android: switchTextAppearance = "@ style/toggle_text" ответ с этой строкой правильно? – Madhu

1

Использование поддержки 7 SwitchCompat

и положитьв вашем стиле и <item name="colorSwitchThumbNormal">#E21D1D</item> в теме

<android.support.v7.widget.SwitchCompat 
        android:id="@+id/switch_options" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentRight="true" 
        android:layout_centerVertical="true" 
        android:padding="5dp" 
        app:showText="false" > 
       </android.support.v7.widget.SwitchCompat> 

Gud Luck !!

6

Вы можете использовать переключатель-Compat намерены в коммутаторе с помощью поддержки v7 library.Try новая концепция

my.xml

<android.support.v7.widget.SwitchCompat 
    android:id="@+id/sc_push" 
    style="@style/switchStyle" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentRight="true" 
    android:layout_centerVertical="true" 
    android:theme="@style/switchStyle" 
    app:theme="@style/switchStyle" /> 

style.xml

<style name="switchStyle"> 
    <item name="colorControlActivated">@color/red</item> 
    <item name="android:colorForeground">@color/gray</item> 
</style> 

Удачи