样式不适用于模拟器

时间:2015-10-10 13:35:14

标签: android android-studio emulation

我在AndroidStudio上做了一个项目,我改变了风格,所以我的动作栏上有自定义的颜色和图标。在AndroidStudio的预览中看起来都很好并且没有任何错误,但是当我在Genymotion模拟器上运行应用程序时,在第一个屏幕上,操作栏的默认颜色为Theme.Holo.Light(浅灰色)和自定义图标未显示。在另一个屏幕上,根本没有动作栏。

这是我的styles.xml:

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
    <item name="actionBarStyle">@style/MyActionBar</item>
</style>

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
    <item name="android:background">#73AEC0</item>
    <item name="android:icon">@drawable/money_logo</item>
</style>

在AndroidManifest中有这样的:

android:allowBackup="true"
android:label="@string/app_name"
android:theme="@style/Theme.AppCompat.Light" >

1 个答案:

答案 0 :(得分:0)

在styles.xml中使用此代码

<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- the theme applied to the application or activity -->
<style name="MyTheme"
    parent="@style/Theme.AppCompat.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/MyActionBar</item>

    <!-- Support library compatibility -->
    <item name="actionBarStyle">@style/MyActionBar</item>
</style>

<!-- ActionBar styles -->
<style name="MyActionBar"
    parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
    <item name="android:background">@color/red_color</item>
    <item name="android:logo">@drawable/money_logo</item>
    <item name="android:displayOptions">useLogo|showHome|showTitle</item>

    <!-- Support library compatibility -->
    <item name="background">@color/red_color</item>
    <item name="logo">@drawable/money_logo</item>
    <item name="displayOptions">useLogo|showHome|showTitle</item>
</style>

在values / color.xml中使用此

<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="red_color">#ff0000</color>
</resources>

将您的清单命名为

 android:theme="@style/MyTheme"