为什么R.color.white不能用于Color.WHITE呢?

时间:2012-07-23 00:12:44

标签: android android-layout android-resources

我正在尝试设置一个非常简单的布局背景:

  LinearLayout ll = (LinearLayout) findViewById(R.id.simple_layout);

这有效:

  ll.setBackgroundColor(Color.WHITE);

但这不是:

  ll.setBackgroundColor(R.color.white);

是的,我确认R.color.white是在/res/values下的colors.xml文件中定义的。

我错过了什么?

2 个答案:

答案 0 :(得分:6)

您需要使用ll.setBackgroundResource(R.color.white)

答案 1 :(得分:1)

正如@Ali指出的,当你在XML中设置它时,它就变成了一种资源。这显然很混乱,因为你不认为它是一种资源,你认为它是一种价值。但就像所有其他资源一样,它是一种资源。所以是的,你必须使用setBackgroundResource()