TextView state_pressed/state_focused/state_selected style change

白昼怎懂夜的黑 提交于 2020-01-01 09:28:11

问题


I'm trying to change a TextView style based on its state. My styles.xml contains:

<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>

My selector (text_ops.xml)is defined as:

<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>

But when I apply this to my textview (style="@drawable/text_ops") it does not work. Any tips?
Thanks


回答1:


In android as per my knowledge there is only two state-list 1. Color State List Resource 2. StateListDrawable. If you are using style in it then please recheck the doc

Please check below link for more info

  1. http://developer.android.com/guide/topics/resources/color-list-resource.html
  2. http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList



回答2:


The problem is the line style="@drawable/text_ops" this should be style="@style/text_ops".

I haven't tried using a selector for styles but it would be cool if it works that way.



来源:https://stackoverflow.com/questions/8064707/textview-state-pressed-state-focused-state-selected-style-change

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!