网上搜了很多的方法,使用selector选择器是无法实现点击之后更换背景,并保持颜色不变的功能,因为点击完之后,总会显示默认的图片,所以这个方案被否定了。也想多了使用第2个方案:因为是一组textview,点击其中一个背景变为打钩的图片,其他3个保持默认不变,所以想到了android 单选框,但最后考虑之后自定义旁边的单选按钮势必会增加更多的代码,所以也否定了,想要实现如下功能:
没办法,最后只能通过监听点击事件,来更换4个textview的背景颜色,原理其实也是非常简单,就是当点击其中一个时候,其他的设置为默认,当点击第二个的时候,重置另外三个的背景,java代码如下:
currencypairs.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
currencypairs.setBackgroundResource(R.drawable.grayright);
openpositionprice
.setBackgroundResource(R.drawable.grayrightmoren);
floatingprofit.setBackgroundResource(R.drawable.grayrightmoren);
dealtime.setBackgroundResource(R.drawable.grayrightmoren);
}
});
虽然上述的解决的方法有点过于曲折,没有想到更加优雅的解决方式,有大神可以指出来更好的解决方案,搜了很长时间,也没看到有人解决了。