即使没有背景,动作栏也会显示背景

时间:2013-10-01 11:36:33

标签: android background-image android-actionbar-compat

我正在使用自定义主题在我的操作栏上显示自定义背景。 M使用Actionbar Compat。我在不同的设备上运行,它在手机+版本< 3.0。因此经过一些测试后我发现,即使我设置了透明色,因为我的背景仍然有所收获。相同的代码在我的nexus 4上工作正常。参见附图。

enter image description here

我的文件:

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name">
    <activity
        android:name="com.abtest.MainActivity"
        android:label="@string/app_name" 
        android:theme="@style/CustomActionBarTheme">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

我的风格:

<style name="Widget.Custom.TitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textColor">@color/actionbar_text_color</item>
</style>

<style name="Widget.Custom.Common" parent="@style/Widget.AppCompat.ActionBar">
    <item name="titleTextStyle">@style/Widget.Custom.TitleTextStyle</item>
</style>

<style name="CustomActionBarTheme" parent="@style/Theme.AppCompat.Light">
    <item name="actionBarStyle">@style/MyActionBar</item>
</style>

<style name="MyActionBar" parent="@style/Widget.Custom.Common">
    <item name="background">@color/actionbar_background</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="windowActionBarOverlay">false</item>
</style>

我的操作栏背景:

<color name="actionbar_background">#00000000</color>

2 个答案:

答案 0 :(得分:1)

android:windowContentOverlay移至您的CustomActionBarTheme定义中。 E.g。

<style name="CustomActionBarTheme" parent="@style/Theme.AppCompat.Light">
    <item name="android:windowContentOverlay">@null</item>
    <item name="actionBarStyle">@style/MyActionBar</item>
</style>

答案 1 :(得分:0)

首先,恭喜你有一个“你好”的关系4。 尝试在MyActionBar

中添加此项
<item name="android:background">@color/actionbar_background</item>