2013-01-15 99 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。