修改LinearLayout中子控件TextView点击颜色小结

原文地址:http://www.eoeandroid.com/thread-900367-1-1.html


需求:在点击整个LinearLayout的同时,LinearLayout的子控件TextView也要随着点击而改变。

    分析:一开始我认为是点击事件分发问题,后来查看了资料之后才发现用一行代码就可以搞定。
             1、首先写TextView根据点击字体颜色变化的代码,这种情况一般要用到selector:
            
       
                          

                               
                               

                           


                    但是需要注意的是红色字体部分,字体的颜色还需要在resources中进行定义:
                     
 
                           
                                #ffed6c00  
                                #ff000000
                          


              2、定义好之后就可以在TextView中使用了:
                  
  android:textColor="@drawable/settingfont_selector"/>


                红色字部分就是使用selector,但是这样设置之后点击字体的颜色仍不改变,我们还需要给TextView加上 android:duplicateParentState="true" 这个属性才可以。


           注 android:duplicateParentState

           “如果设置此属性,将直接从父容器中获取绘图状态(光标,按下等)。 注意仅仅是获取绘图状态,而没有获取事件,也就是你点一下LinearLayout时Button有被点击的效果,但是不执行点击事件”。

你可能感兴趣的:(转载,小经验)