TextView state_pressed / state_focused / state_selected изменение стиля - PullRequest
7 голосов
/ 09 ноября 2011

Я пытаюсь изменить стиль TextView в зависимости от его состояния.Мой файл styles.xml содержит:

<style name="text_normal_ops">  
    <item name="android:gravity">left</item>  
    <item name="android:textColor">@color/text_usual_color</item> 
    <item name="android:textStyle">bold</item>  
</style>  
<style name="text_normal_ops_pressed">  
    <item name="android:gravity">left</item>  
    <item name="android:textColor">@color/text_pressed</item>  
    <item name="android:textStyle">bold</item>  
</style>

Мой селектор (text_ops.xml) определяется как:

<selector xmlns:android="http://schemas.android.com/apk/res/android">  
    <item android:state_pressed="true" style="@style/text_normal_ops_pressed" />  
    <item android:state_focused="true" style="@style/text_normal_ops_pressed" />  
    <item android:state_selected="true" style="@style/text_normal_ops_pressed" />  
    <item style="@style/text_normal_ops"/>  
</selector>

Но когда я применяю это к моему текстовому представлению (style="@drawable/text_ops"), он делаетне работа.Любые советы?
Спасибо

Ответы [ 2 ]

9 голосов
/ 09 ноября 2011

В андроиде, насколько мне известно, есть только два списка состояний 1. Цвет списка состояний ресурса 2. StateListDrawable.Если вы используете стиль в нем, пожалуйста, перепроверьте документ

Пожалуйста, проверьте ниже ссылку для получения дополнительной информации

  1. http://developer.android.com/guide/topics/resources/color-list-resource.html
  2. http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList
1 голос
/ 09 ноября 2011

Проблема в строке style="@drawable/text_ops", это должно быть style = "@ style / text_ops".

Я не пробовал использовать селектор для стилей, но было бы здорово, если бы он работал таким образом.

...