我正在寻找一种改变菜单弹出背景颜色的方法,但现在我真的没有什么想法了...首先,这是我的工具栏:
<android.support.v7.widget.Toolbar
android:id="@+id/main_actionbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:elevation="2dp"
app:elevation="2dp"
app:theme="@style/MainActionBar"
app:popupTheme="@style/MainActionBar.Popup"/>
我使用了两个主题,没有进行任何背景更改:
<style name="MainActionBar" parent="Widget.AppCompat.Light.ActionBar">
<item name="android:background">@color/primary</item>
<item name="android:textColor">@android:color/white</item>
<item name="android:textColorPrimary">@android:color/white</item>
<item name="android:textColorSecondary">@android:color/white</item>
</style>
<style name="MainActionBar.Popup" parent="Widget.AppCompat.PopupMenu">
<item name="android:textColor">@color/primary_text</item>
</style>
这使得我的项目背景颜色看起来是蓝色的,因为我将应用程序的主要和次要颜色设置为蓝色。
我发现将MainActionBar.Popup中android:background设置为白色可以将项目菜单颜色更改为白色,代码如下: Widget.AppCompat.PopupMenu with android:background set to @android:color/white 虽然这确实将背景色更改为白色,但也会在动画开始之前将弹出框后面的框变为白色,从而破坏了动画效果。
另一种选择是将android:itemBackground设置为白色,代码如下: Widget.AppCompat.PopupMenu with android:itemBackground set to @android:color/white 如您所见,动画现在看起来很好,但项目背景并不完全是白色的...
我也尝试过android:popupBackground,但似乎没有任何效果。
我知道这是一个经常被问到的问题,但我已经读了几十个帖子,所以可能只是我没有看到一个明显的错误...
android:background="?attr/colorPrimaryDark"
。 - shadygoneinsane