2012-04-14 105 views
50

我一直在学习Android,至今我一直专注于功能,但现在我开始使用布局。Android - 如何设置所有屏幕的背景颜色?

我想知道维护字体和颜色样式的最佳做法是什么。我制作了一个colors.xml文件,我曾用它来改变按钮等单独元素的颜色,但我不确定Android如何让开发人员组织它们的样式。

例如,我希望所有屏幕具有相同的背景颜色。我怎么做?是我需要为每个活动布局xml指定的东西吗?或者其他地方我如何完成它?

谢谢!

+0

创建[风格](http://developer.android.com/guide/topics/ui/themes.html),并将它们应用到你的UI元素 – zapl 2012-04-14 19:55:05

+0

@ zapl钻研我正在做的事情。我想知道的是如何将样式应用于整个屏幕。像每个屏幕的背景颜色一样? – GeekedOut 2012-04-14 20:03:55

+0

您可以将一些背景主题应用到每个最顶端的LinearLayout(或任何您使用的),或者您可以通过[您的活动主题](http://developer.android.com/guide/topics/ui/themes)进行操作。 html#ApplyATheme) – zapl 2012-04-14 20:06:36

回答

134

一个快速简便的方法,以确保每一个活动都有相同的背景颜色,是为您创造活动中使用的一个主题。该主题将指定android:windowBackground。

首先定义值的色彩/ colors.xml

<resources> 
    <color name="background">#FF0000 </color> 
</resources> 

创建RES /值的themes.xml文件引用了颜色:

<resources> 
<style name="MyTheme" parent="@android:style/Theme.Light"> 
    <item name="android:windowBackground">@color/background</item> 
</style> 
</resources> 

...,然后在AndroidManifest.xml将此指定为您要使用的活动的主题。

<activity 
     android:name=".MyActivity" 
     android:theme="@style/MyTheme" /> 
+3

在themes.xml中实现此代码时出现错误,因为它无法识别此处的十六进制颜色代码: #FF0000 2013-03-15 13:36:28

+7

只是将颜色十六进制放在@颜色资源,然后参考它 @ color/my_background 2013-05-22 23:19:43

+1

这不是正确的答案。请更正您的答案,以匹配克里斯的评论NPike – 2013-12-21 15:32:36

5

您还可以设置在应用程序级别的背景在AndroidManifest.xml

<application 
    ... 
    android:theme="@style/MyTheme"> 

(注:我不能把这作为接受答案的批评是​​对我的名声太低)。

17

更新你的android studio到1.4它有内置的主题编辑器。你可以看到在下面的图像

enter image description here

+1

如何在Android 2.1预览版 – 2016-04-08 06:43:44

+0

打开styles.xml文件中打开Theme Editir,您将在右上角的编辑器文本中看到打开的文本。 – 2016-04-08 07:19:43

+0

但是我的情况隐藏和问题解决它当重新启动android工作室谢谢显示马赫 – 2016-04-08 08:20:18