Android - 如何设置所有屏幕的背景颜色?

Gee*_*Out 72 android android-layout

保持字体和颜色样式的最佳做法是什么.我做了我所用,以改变如按钮单独的元素颜色的colors.xml文件,但我不知道怎么的Android开发人员想组织自己的风格.

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

NPi*_*ike 180

确保每个活动具有相同背景颜色的快速简便方法是为您的活动创建一个主题.该主题将指定android:windowBackground.

首先在values/colors.xml中定义颜色

<resources>
    <color name="background">#FF0000 </color>
</resources>
Run Code Online (Sandbox Code Playgroud)

在res /值中创建一个引用该颜色的themes.xml文件:

<resources>
 <style name="MyTheme" parent="@android:style/Theme.Light"> 
  <item name="android:windowBackground">@color/background</item>
 </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

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

 <activity
        android:name=".MyActivity"
        android:theme="@style/MyTheme" />
Run Code Online (Sandbox Code Playgroud)

  • 只需将颜色十六进制放在@color资源中,然后引用它,因此<item name ="android:windowBackground"> @ color/my_background </ item> (9认同)
  • 我在themes.xml中实现此代码时遇到错误,因为它无法识别此处的十六进制颜色代码:<item name ="android:windowBackground">#FF0000 </ item> (4认同)
  • 这不是正确的答案.请更正您的答案以匹配Chris的评论NPike (2认同)

kun*_*roy 20

将你的android studio更新为1.4它内置的主题编辑器.如下图所示

在此输入图像描述

  • 编辑器失去支持。从 Android Studio 3.3 开始,它被删除了。 (3认同)
  • 如何在android 2.1预览版中打开Theme Editir (2认同)

小智 8

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

<application
   ...
   android:theme="@style/MyTheme">
Run Code Online (Sandbox Code Playgroud)

(注意:由于我的声誉太低,我不能将此作为对已接受答案的评论).