简单的Android应用颜色

时间:2013-01-15 15:50:13

标签: android android-layout

我有一个应用程序,我没有明确定义任何颜色。我的手机上的应用程序看起来与办公室周围的其他手机不同(我手机上应用程序顶部的标题栏是白色字母的蓝色,而其他手机上的白色字母是灰色的) 。我怎么做他们一样的?它只是在我的应用程序中明确设置颜色这么简单吗?

3 个答案:

答案 0 :(得分:0)

您需要将一个可用主题应用于您的应用程序。您可以AndroidManifest.xml执行此操作,只需使用android:theme属性:

android:theme="@android:style/Theme.Holo"如果您想要黑暗主题,或android:theme="@android:style/Theme.Holo.Light"如果您想要浅色主题。

如果您使用此应用程序放在<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将应用于所有其他活动。

答案 1 :(得分:0)

您未设计的所有按钮,文本视图和其他UI元素将根据所选主题更改其方面。如果您选择默认主题,则所有GUI小部件将根据设备制造商,Android版本等而有所不同。

您可以指定一个具体的主题,例如Holo,但问题是它不适用于3.0之前的Android版本。您可以保留旧版本的默认主题,否则您可以使用此网站自行生成所有Holo风格的GUI元素:

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

答案 2 :(得分: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来实现向后兼容性。