弹出菜单选择工具栏中的项目

时间:2015-01-15 11:36:02

标签: android material

当我单击弹出菜单中的项目时,其TextView背景保持不变。

屏幕:http://i.stack.imgur.com/vtrGN.png

我使用工具栏:

 <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimary"
        android:minHeight="@dimen/actionbar_height"
        app:popupTheme="@style/PopupMenu"
        app:theme="@style/Toolbar" />

使用弹出菜单的自定义主题:

 <style name="Toolbar" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
    <item name="colorPrimary">@color/background</item>
    <item name="android:height">@dimen/actionbar_height</item>
    <item name="android:actionModeBackground">@color/background</item>
</style>

<style name="PopupMenu" parent="ThemeOverlay.AppCompat.Dark">
    <item name="android:background">@color/background</item>
</style>

如何正确选择工作?

2 个答案:

答案 0 :(得分:1)

我有同样的问题,尝试和错误我发现使用:

<item name="android:colorBackground">@color/background</item>

而不是

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

为我解决问题,我不知道是否达到了相同的结果,但至少没有显示uggly背景。

答案 1 :(得分:1)

ZoserLock提到的ColorBackground对我来说不是我必须要做的

<item name="android:background">@color/background</item>
<item name="android:drawSelectorOnTop">true</item>

我还发现android:backgroundTint与背景做同样的事情。

<item name="android:backgroundTint">@color/background</item>
<item name="android:drawSelectorOnTop">true</item>

注意:如果您使用自己的选择器使用selectableItemBackground并且您的选择器不透明,drawSelectorOnTop将无法正常工作,因为它将覆盖您的文本。我还没有找到一个我很满意的解决方案。