改变TextView的textColor的颜色或背景像radioButton一样简单。

**如果你有好的解决方案,欢迎分享。 **

思路,改变TextView的selected的属性和selector选择器的结合

一,在drawable新建一个选择器

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="#F00" android:state_selected="true"></item>
    <item android:color="#000"></item>
</selector>

二,在xml文件中使用。

    <TextView
            android:id="@+id/whole_top_one"
            android:text="默认"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@drawable/sel_whole_headtext_color"
            />

三,在代码中实现切换。

//  在点击事件中根据isSelected 来改变状态从而改变字体颜色。
  mWholeTopFour.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                changeStateColor(mWholeTopFour);
            }
        });
    }

//    缓存的上一个TextView 
    private TextView mCacheView;
    //    传一个TextView进来。
    private void changeStateColor(TextView view) {
    //    将上一个view设置为false
        mCacheView.setSelected(false);
        if (view.isSelected()) {
            view.setSelected(false);
        } else {
            view.setSelected(true);
        }
        mCacheView = view;
    }
 // 如果你需要一个默认是选择的颜色,在初始化view的时候记得设置
        mWholeTopOne.setSelected(true);
        // 给缓存的view  赋值为默认选择的
        mCacheView=mWholeTopOne;

我觉得除了使用radioGroup这个小功能挺使用的。不懂的可以联系我Q:645187582。或下方评论

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容