我在我的AppCompatCheckBox中发现了一个非常奇怪的行为,已经搜索了它的修复但是没找到,这就是我决定在这里问的原因。
我试图以编程方式更改已检查的AppCompatCheckBox颜色(因为我的应用程序的颜色方案改变了,我无法使用XML属性为CheckBox着色),所以我使用了这种方法:
chkTos = (AppCompatCheckBox) findViewById(R.id.checkboxTos);
ColorStateList colorStateList = new ColorStateList(
new int[][]{
new int[]{-android.R.attr.state_checked},
new int[]{android.R.attr.state_checked},
},
new int[]{
Color.DKGRAY,
Color.RED,
}
);
chkTos.setSupportButtonTintList(colorStateList);
它工作,检查的颜色现在是红色,但动画现在非常慢。表现太可怕了!我该如何解决这个问题?
你有过这样的经历吗?我想告诉你它在行动,将尝试创建它的GIF!也许这是支持库上的一个错误?
一些参考文献:
答案 0 :(得分:0)
对于仍在努力解决此问题的任何人,您必须将SupportButtonTintList
设置为所需的ButtonTintList
,而不是设置colorStateList
。所以代码就像:
chkTos.setButtonTintList(colorStateList);