设置Android布局元素的背景颜色
我试图从Android UIdevise中的一组幻灯片中克隆一个活动的devise 。 但是,我有一个非常简单的任务的问题。
我已经创build了如图所示的布局,并且标题是RelativeLayout
的TextView
。 现在我想改变RelativeLayout
的背景颜色,但我似乎无法弄清楚如何。
我知道我可以在XML文件的RelativeLayout
标签中设置android:background
属性,但是我将它设置为? 我想定义一个新的颜色,我可以在多个地方使用。 这是一个drawable
或string
?
另外,我希望在Eclipse Android UIdevise器中有一个非常简单的方法来解决这个问题。
目前我有点沮丧,因为这应该是一个活动,最多只需点击几下。 所以任何帮助,非常感激。 🙂
您可以使用简单的颜色资源 ,通常在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:background="#FFFFFF"
然后我点击FFFFFF的颜色,并点击了出现的灯泡。