如何以编程方式更改按钮的背景颜色

时间:2016-12-13 19:28:48

标签: java android android-button

我正在使用Android Studio,并希望使用colors.xml文件来更改按钮btn的背景颜色。这两个都适合我:

btn.setBackgroundColor(getResources().getColor(R.color.colorBlue, null));

btn.setBackgroundColor(ContextCompat.getColor(getApplicationContext(), R.color.colorBlue));

哪一个更好?我想更好意味着更快,消耗更少的内存/ CPU使用。

2 个答案:

答案 0 :(得分:2)

您可以使用接受资源ID作为参数的setBackgroundResource方法。

答案 1 :(得分:1)

此代码正在改变AppCompatButton的颜色

button.getBackground().setColorFilter(ContextCompat.getColor(this, android.R.color.holo_orange_light), PorterDuff.Mode.MULTIPLY);