设置Android布局元素的背景颜色

我试图从Android UIdevise中的一组幻灯片中克隆一个活动的devise 。 但是,我有一个非常简单的任务的问题。

我已经创build了如图所示的布局,并且标题是RelativeLayoutTextView 。 现在我想改变RelativeLayout的背景颜色,但我似乎无法弄清楚如何。

我知道我可以在XML文件的RelativeLayout标签中设置android:background属性,但是我将它设置为? 我想定义一个新的颜色,我可以在多个地方使用。 这是一个drawablestring

另外,我希望在Eclipse Android UIdevise器中有一个非常简单的方法来解决这个问题。

目前我有点沮丧,因为这应该是一个活动,最多只需点击几下。 所以任何帮助,非常感激。 🙂

Android活动设计

您可以使用简单的颜色资源 ,通常在res/values/colors.xml

 <color name="red">#ffff0000</color> 

并通过android:background="@color/red" 。 这种颜色也可以在其他地方使用,例如作为文字颜色。 以同样的方式在XML中引用它,或通过getResources().getColor(R.color.red)在代码中获取它。

你也可以使用任何可绘制的资源作为背景,使用android:background="@drawable/mydrawable" (这意味着9patch drawables,普通的位图,形状drawables,..)。

上面的答案是不错的。你也可以像这样编程,如果你想

 RelativeLayout rl = (RelativeLayout)findViewById(R.id.your_layout_id); rl.setBackgroundColor(Color.RED); 

除此之外,如果你有在colors.xml中定义的颜色,那么你也可以通过编程来实现:

 rl.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.red)); 

您可以使用android:background="#DC143C"或其他任何颜色的RGB值。 正如这里所说的那样,我没有这样使用它的问题

 res/values/colors.xml. <color name="red">#ffff0000</color> android:background="@color/red" 

例子不适合我,但是

 android:background="#(hexidecimal here without these parenthesis)" 

在相对布局元素中为我工作,作为一个属性。

如果你想快速改变颜色(你没有记住hex数字)android有几个预设的颜色,你可以这样访问:

 android:background="@android:color/black" 

有15种颜色可供select,可以快速testing出来,而且不需要设置额外的文件。

像上面解释的那样设置一个values / colors.xml文件并使用直线hex将仍然有效。

Android Studio 2.1.2(或者更早版本)可以让你从色盘中select:

Android Studio中的色轮

我通过添加以下内容到我的布局:

 android:background="#FFFFFF" 

然后我点击FFFFFF的颜色,并点击了出现的灯泡。