安卓开发——通过selector实现对TextView点击样式改变

对于通过selector实现对TextView点击样式改变这个需求,我是用tabhost实现应用主界面下方的导航栏时遇到的,上图:



我需要实现用户在点击了某个tab时,更换图片以及字体颜色发生改变,当然,这个效果的实现也可以通过对点击事件的监听进行实现,这里我只介绍如何通过新建一个资源文件(selector)来实现这个效果。

TextView:

1、在res下创建一个drawable文件夹用于装textselector.xml  ,对点击样式的定义放在这里面

2、values下定义colors.xml文件,将颜色资源放在里面

3、 将textselector.xml资源加载到TextView上

textselector.xml:



    
    

colors.xml



    #797979
    #3399dd


布局文件

textselector"/>

这样就完成了这个效果的实现。

注意:1、我们在TextView中设置字体颜色一般使用textColor属性,但在使用selector动态修改字体颜色的时候要使用color属性;

2、我们这里由于是使用的是tabhost,不需要对textview添加监听事件,在正常页面下使用的话,需要给TextView添加点击监听事件,就算事件不去执行什么功能都必须去设置;

TextView text = (TextView)findViewById(R.id.tv_tab);
text.setOnClickListener(null);
此外,使用中也要结合实际情况选择selector的属性:

android:state_selected选中

android:state_focused获得焦点

android:state_pressed点击

android:state_enabled设置是否响应事件,指所有事件










你可能感兴趣的:(安卓开发)