Android背景出现在操作栏图标和所有视图上

时间:2014-10-20 11:15:31

标签: android xml android-layout

我正在使用自定义主题abnd我认真地得到了这个奇怪的问题。背景应该只出现在LinearLayout中,但它突然开始出现在ActionBar图标以及布局的所有视图中。

这是屏幕截图:

screenshot

这是我的自定义主题:

<?xml version="1.0" encoding="utf-8"?>

<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
    <item name="actionBarStyle">@style/MyActionBar</item>
    <item name="android:background">@drawable/background</item>
    <item name="actionBarTabTextStyle">@style/MyActionBarTabText</item>
    <item name="actionDropDownStyle">@style/Widget.AppCompat.Spinner.DropDown.ActionBar</item>
</style>

<!-- Menu/item attributes -->
<style name="actionMenuViewStyle" parent="@style/Theme.AppCompat.Light.DarkActionBar">
    <item name="android:itemTextAppearance">@style/TextAppearance.Widget.AppCompat.ExpandedMenu.Item</item>
    <item name="android:listViewStyle">@style/Widget.AppCompat.ListView.Menu</item>
</style>
<!-- ActionBar styles -->
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
    <item name="background">@drawable/action_bar_gradient</item>
    <item name="backgroundStacked">@drawable/action_bar_gradient</item>
    <item name="titleTextStyle">@style/MyActionBarTitleText</item>
</style>

这是我的activity_add.xml:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:padding="10dp"
    android:background="@drawable/background_gradient" >

    <android.support.v7.widget.GridLayout
        android:id="@+id/HeaderGridLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_column="2"
        app:layout_row="14"
        app:orientation="vertical" >

        <TextView
            android:id="@+id/textYear"
            android:layout_width="125dp"
            android:layout_height="40dp"
            android:layout_marginRight="10dp"
            app:layout_column="1"
            app:layout_row="1"
            android:gravity="center"
            android:text="@string/year"
            android:textStyle="bold" />

        <Spinner
            android:id="@+id/year_spinner"
            android:layout_width="145dp"
            android:layout_height="40dp"
            app:layout_column="2"
            app:layout_row="1"
            android:gravity="center"
            android:prompt="@string/year" />

        <TextView
            android:id="@+id/text_district"
            android:layout_width="125dp"
            android:layout_height="40dp"
            app:layout_column="1"
            app:layout_row="2"
            android:gravity="center"
            android:text="@string/district"
            android:textStyle="bold" />

        <Spinner
            android:id="@+id/district_spinner"
            android:layout_width="145dp"
            android:layout_height="40dp"
            app:layout_column="2"
            app:layout_row="2"
            android:gravity="center"
            android:prompt="@string/district" /><--Closing of grid and linear layout-->   

我没有在Manifest文件和自定义主题上声明背景,但仅在activity_add.xml中声明,但我在所有ActionBar图标和视图中都有背景,如上所示。 有人知道如何解决这个问题吗?请帮忙。

1 个答案:

答案 0 :(得分:2)

仅当您在custom_theme中放置android:background时,才会显示操作栏周围的此类背景。所以尝试删除

<item name="android:background">@drawable/background</item>

来自您的自定义主题。