Как изменить textColor кнопки из XML в Android? - PullRequest
4 голосов
/ 28 июля 2011

Я использую selector, чтобы изменить фон для рисования кнопки в разных состояниях (сфокусирован, нажат, нормальный). Есть ли способ изменить цвет текста тоже? Я хочу предоставить различные цвета текста для различных состояний кнопок, но я хочу сделать это из XML. Возможно ли это?

Ответы [ 4 ]

14 голосов
/ 28 июля 2011

Да, это может быть сделано. Вы делаете то же самое, что и для кнопки Drawable. Затем присвойте его android:textColor="@drawable/yourselector"

10 голосов
/ 28 июля 2011
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_pressed="true"
           android:color="#000000" /> <!-- pressed -->
     <item android:state_focused="true"
           android:color="#000000" /> <!-- focused -->
     <item android:color="#FFFFFF" /> <!-- default -->
</selector>

Попробуйте объединить вышеперечисленное с атрибутом android:drawable.

1 голос
/ 28 июля 2011

Если это программно, вы можете использовать:

Button button = findViewById(R.id.yourbutton);
button.setTextColor(Color.yourcolor);

В xml это будет то же самое.

0 голосов
/ 28 июля 2011

Используйте android:color="#ff0000" в селекторе для focused и другой цвет для default состояния. Затем в xml кнопки android:textColor="@drawable/yourselector"

...