我使用的是持久支持设计:28,alpha3。
我使用“ Theme.MaterialComponents.Light.NoActionBar”作为应用程序的主题,并使用“ MaterialButton”代替布局中的常规“ Button”。
我可以正常设置XML的BackgroundTind,但不能通过Java进行更改。
我试过了:
deliverSwitch.setBackgroundTintList(getResources().getColorStateList(R.color.colorYellow));
deliverSwitch.setSupportBackgroundTintList(getResources().getColorStateList(R.color.colorYellow));
但是它们都不起作用...我还尝试通过将setBackgroundTintList保留为null来清除当前色,并且它也不起作用。
最佳答案
我也无法正常工作。作为一种解决方法,我执行了以下操作:首先,获得当前的背景Drawable,然后使用所需的颜色对其进行着色,并为材质按钮使用setBackgroundDrawable设置新的背景。
Drawable background = materialButton.getBackground();
background.setTint(ContextCompat.getColor(getContext(), R.color.bg_button_primary));
materialButton.setBackgroundDrawable(background);
希望对您有所帮助。