TextView state_pressed / state_focused / state_selected样式更改

时间:2011-11-09 12:01:10

标签: android coding-style textview selector pressed

我正在尝试根据其状态更改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>

但是当我将它应用到我的textview(style="@drawable/text_ops")时,它不起作用。 有什么提示吗? 感谢

2 个答案:

答案 0 :(得分:9)

在android中据我所知,只有两个状态列表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 :(得分:1)

问题是行style="@drawable/text_ops"这应该是style =“@ style / text_ops”。

我没有尝试使用样式选择器,但如果它以这种方式工作会很酷。