Как изменить стиль текста на основе состояния с XML? - PullRequest
3 голосов
/ 25 октября 2010

StateListDrawables и <selector> отлично подходят для установки различных элементов рисования для каждого состояния представления, но есть ли способ связать, какой стиль текста должен использовать это представление для каждого из этих состояний?

Например, если у вас была кнопка белого цвета с черным текстом, и при нажатии цвет кнопки становился черным, вы бы хотели, чтобы цвет вашего текста изменился на белый. Я могу представить, как бы я это сделал с кодом, но есть ли способ сделать это с помощью XML, аналогично <selector>, используемому для рисования?

1 Ответ

7 голосов
/ 25 октября 2010

Ну, вроде как есть. Я не верю, что есть способ сказать что-то вроде state_focused, использовать Bold или курсив или fontSize = 20. Но есть способы изменить цвет. Таким образом, используя механизм выбора, вы можете создать ColorStateList

http://developer.android.com/reference/android/content/res/ColorStateList.html

В основном вы делаете то же самое, что и список состояний, который можно нарисовать с помощью селектора, за исключением того, что вы можете поместить цвет внутри отдельных элементов. Затем вы сохраняете свой XML в папке с цветами.

/ Рез / значения / цвет / my_stateful_color.xml

и установите для android: textColor значение "@ color / my_stateful_color"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...