2013-01-15 104 views
1

我有一個應用程序,我沒有明確定義任何顏色。該應用程序在我的手機上看起來與在我辦公室的其他幾部手機上看起來不同(我的手機上應用程序頂部的標題欄是白色字母藍色,其他手機上是白色字母灰色)。我如何讓他們都一樣?它是否像在我的應用中明確設置顏色一樣簡單?簡單的Android應用程序顏色

回答

0

您需要將一個可用的主題應用於您的應用程序。你可以這樣做AndroidManifest.xml,只需使用android:theme屬性:

如果你想黑暗的主題或 android:theme="@android:style/Theme.Holo.Light"如果你想光主題

android:theme="@android:style/Theme.Holo"

如果您使用將此應用程序放入您的<activity>標記之一中,則只會對相應的活動進行樣式設置,如果將其放入<application>標記中,樣式將應用於整個應用程序。

當然,你也可以在styles.xml定義自己的風格:

<style name="AppTheme" parent="android:Theme.Light"> 
    <item name="android:windowBackground">@drawable/bg_window</item> 
    <item name="android:windowActionBar">false</item>  
    <item name="android:windowNoTitle">true</item> 
</style> 

下面是AndroidManifest.xml的例子:

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" 
    > 

    <activity 
     android:name=".Activity1" 
     android:theme="@style/AppTheme2" 
     /> 

    <activity 
     android:name=".Activity2" 
     /> 

在這個例子中,AppTheme2將只適用於Activity1,而AppTheme將適用於所有其他活動。

0

所有按鈕,文字瀏覽和其他未由您設計的UI元素將根據所選主題更改其方面。如果您選擇默認主題,則所有GUI小部件將根據設備製造商,Android版本等而有所不同。

您可以指定一個具體主題,例如Holo,它具有無法工作的問題在3.0之前的Android版本上。你可以保持默認的主題爲舊版本,否則你可以使用這個網站給自己生成所有的全息風格的GUI元素:

http://android-holo-colors.com/

0

在應用程序的頂部標題欄我的手機是藍色配白色 信件和其他手機它是灰色的白色字母

這與一些OEM廠商的定製框架的問題。他們重寫默認的Android樣式。我假設帶有藍色標題欄的設備是帶有TouchWiz的三星設備,對吧?

我爲了有你就必須申報自己的主題一致的標題欄:

<style name="AppTheme" parent="android:Theme.Light"> 
    <item name="android:windowBackground">@drawable/title_bar</item> 
    <item name="android:windowTitleStyle">@style/WindowTitle</item>  
</style> 

<style name="WindowTitle"> 
    <item name="android:singleLine">true</item> 
    <item name="android:textAppearance">@style/TextAppearance.WindowTitle</item> 
    <item name="android:shadowColor">#BB000000</item> 
    <item name="android:shadowRadius">2.75</item> 
</style> 

原來title_bar 9補丁。


這是你的問題的答案。但在我看來,你不應該使用標題欄,而是使用ActionBar。爲了向後兼容,您可以使用ActionBarSherlock。