我有以下操作菜单:
正如您所看到的,所有这些操作菜单项都有 背景。我猜它和父母一样背景。
如何删除此背景?
我的style.xml如下:
<resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">
<style name="AppTheme" parent="AppTheme.Base"></style>
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimaryDark">@color/primaryColorDark</item>
<item name="colorPrimary">@color/primaryColor</item>
<item name="colorAccent">@color/accentColor</item>
<item name="android:textColorPrimary">@color/textcolorsecundary</item>
<item name="android:textColorSecondary">@color/textcolorsecundary</item>
<item name="android:actionModeBackground">@color/primaryColor</item>
<item name="android:windowActionModeOverlay">true</item>
<item name="android:activatedBackgroundIndicator">@drawable/custom_background_listview_item</item>
</style>
<style name="AppTheme.Toolbar" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
<item name="android:textColorPrimary">@color/textcolorsecundary</item>
<item name="actionMenuTextColor">@color/textcolorsecundary</item>
<item name="android:textColorSecondary">@color/textcolorsecundary</item>
<item name="android:showDividers">beginning</item>
<item name="android:divider">@color/primaryColorDark</item>
<item name="android:background">@drawable/custom_background_blue</item>
</style>
<style name="AppTheme.Toolbar.PopupMenu" parent="ThemeOverlay.AppCompat.Dark">
<item name="android:popupBackground">@color/primaryColor</item>
</style>
</resources>
我的工具栏:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
android:elevation="2dp"
android:focusable="false"
app:popupTheme="@style/AppTheme.Toolbar.PopupMenu"
app:theme="@style/AppTheme.Toolbar" >
<TextView
android:id="@+id/toolbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:background="@null"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold" />
</android.support.v7.widget.Toolbar>
答案 0 :(得分:2)
以下行是问题
<style name="AppTheme.Toolbar" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
<item name="android:background">@drawable/custom_background_blue</item>
</style>
由于以上内容不是作为样式而是作为主题应用(可能是通过popupTheme
元素上的Toolbar
属性),因此工具栏中的所有小部件都会继承这些设置。你想要的是android:popupBackground
而不是android:background
。
编辑:OP表示以上是不够的。对于样式工具栏的弹出菜单(不是工具栏本身),请使用app:popupTheme
属性。主题将与此类似:
<style name="AppTheme.Toolbar.PopupMenu" parent="ThemeOverlay.AppCompat.Dark">
<item name="android:popupBackground">@drawable/custom_background_blue</item>
</style>
答案 1 :(得分:0)
您在style.xml中显式设置动作背景颜色与主要颜色相同。
<item name="android:actionModeBackground">@color/primaryColor</item>
尝试从XML中删除它或将其更改为适合您的UI的颜色,它应该可以正常工作。如果您没有选择为android:actionModeBackground手动指定颜色,则可以从父主题(在您的情况下为Theme.AppCompat.Light.NoActionBar)中简单地获取它的默认值。