2015-10-10 2 views
2

Как просто изменить цвет текста просмотров в стиле Android в стиле Studio.xml?Изменение тем в Android-элементе checkbox item text color

Я хочу, чтобы создать тему, где все элементы являются Чекбокс цвет отличается от черного по умолчанию, как:

enter image description here

Только я хочу сама коробка, чтобы быть того же цвета, что и текст.

Должен ли я использовать следующее в своей теме?

<item name="android:checkboxStyle">@style/App_CheckboxStyle</item> 

ответ

2

Вы можете изменить цвет checkbox, с помощью этого:

<item name="colorAccent">@color/green</item> 

Вы можете изменить цвет textView в checkbox, используя это:

<item name="android:textColorSecondary">@color/red</item> 

Например :

<style name="SampleTheme" parent="Theme.AppCompat"> 
    <item name="colorAccent">@color/green</item> 
    <item name="android:textColorSecondary">@color/red</item> 
</style> 

Else, создайте 3 xml файлы для индивидуальных цветов, как упомянуто in this answer (посмотрите, где написано Второй способ).

1

Вы можете изменить цвет с помощью растяжимой, как этот

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_checked="true" 
     android:drawable="@drawable/cbchk_blue" 
     android:state_focused="false"> 
    </item> 
    <item android:state_checked="true" 
     android:drawable="@drawable/cbchk_blue" 
     android:state_focused="true"> 
    </item> 
    <item android:state_checked="false" 
     android:drawable="@drawable/cbunchk_blue" 
     android:state_focused="false"> 
    </item> 
    <item android:state_checked="false" 
     android:drawable="@drawable/cbunchk_blue" 
     android:state_focused="true"> 
    </item> 
</selector> 

в Планируя просто использовать кнопку свойство

<CheckBox 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:button="@drawable/custom_checkbox" 
     android:id="@+id/checkBox" /> 
1

Решение для меня было использовать TextColor свойство:

<CheckBox 
android:textColor="@color/mycolor" 
... 
/> 
1

Нет атрибута, влияющего на цвет текста флажка на уровне темы.

Все, что вы можете сделать, чтобы изменить цвет текста, это определить стиль, как показано ниже, и применить его к флажку с помощью атрибута style.

<style name="MyChkTextColor"> 
    <item name="android:textColor">#7ca011</item>4 
</style> 

http://www.zoftino.com/android-ui-control-checkbox

4

Я знаю, что этот вопрос задают очень давно, но я хочу, чтобы добавить мое решение. Он работает со всеми версиями SDK.

Вы правы, что для того, чтобы изменить стиль CheckBox во всем проекте, вы должны добавить строку к вашей теме:

<style name="AppTheme" parent="Theme.AppCompat"> 
    ... 
    <item name="android:checkboxStyle">@style/MyCheckBoxStyle</item> 
    ... 
</style> 

И сам стиль, в котором вы установили свой пользовательский текст и флажок цвета :

<style name="MyCheckBoxStyle" parent="Widget.AppCompat.CompoundButton.CheckBox"> 
    <item name="android:textColor">@android:color/holo_purple</item> 
    <item name="buttonTint">@android:color/holo_purple</item> 
</style> 

Примечание:android: префикс указывает на то, что свойство связано с SDK атрибутов. Если вы удалите его, свойство связывается с поддержкой библиотеки. Вот почему система обрабатывает buttonTint и android:buttonTint как разные параметры.Если ваш минимальный SDK равен 21, вам не нужно использовать библиотеку поддержки, и вы можете просто использовать android:buttonTint.

2

Вы можете использовать android:textColorPrimaryDisableOnly для изменения CheckBox/RadioButtontextColor и colorAccent для изменения вытяжки

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <item name="colorAccent">#00f</item> <!-- blue --> 
    <item name="android:textColorPrimaryDisableOnly">#f00</item> <!-- red --> 
</style> 

enter image description here