2016-12-13 175 views
0

我正在使用Android Studio并希望使用colors.xml文件更改按钮btn的背景颜色。这两项工作对我来说:如何以编程方式更改按钮的背景颜色

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

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

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

+0

问题标题和问题的描述是不相关的。 – ARiF

+0

@ARiF是的,但它没有获得我在colors.xml中定义的颜色。 – Travis

回答

2

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

+0

工作。它当然更短,看起来更好。 – Travis

0

此代码改变颜色AppCompatButton

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

你可以添加一个你的代码的解释,为什么它解决了这个问题? *仅限代码*答案通常没有帮助。 – Zabuza

+0

它解决了这个问题,因为它的代码。问题需要代码的答案,而不是在这种情况下的解释。 – AndrewS

相关问题