2012-04-14 159 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