**如果你有好的解决方案,欢迎分享。 **
思路,改变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。或下方评论