大家好,我正在处理Popup菜单中的一个小问题。老实说,我不知道问题出在哪里,我试图在互联网上搜索是否可以找到任何答案,但不幸的是我不能。所以..
我创建了一个自定义工具栏,并将活动设置为no actionbar。然后,我在此工具栏中创建了一个弹出菜单。首先,我尝试通过样式更改菜单图标,然后它起作用了。但是后来我想更改菜单项的背景和文本颜色。
这是我在菜单项的设计选项卡中提供的代码:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/fitItem1"
android:title="Item 1"
app:showAsAction="never" />
<item android:id="@+id/fitItem2"
android:title="Item 2"
app:showAsAction="never"/>
<item android:id="@+id/fitItem3"
android:title="Item 3"
app:showAsAction="never"/>
即使在设计菜单中,它也是如此: 但是,当您启动应用程序时,默认情况下它看起来(白色背景,黑色文本)
因此,我认为这是在样式中设置的某个地方,但是没有类似的东西,我尝试遵循的每个指南都没有效果。除了样式名称=“ MyPopBackground”会实际更改背景。
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item>
<item name="android:itemTextAppearance">@style/MyApp.PopupMenu</item>
<item name="android:popupBackground">@style/MyPopBackground</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="MyActionButtonOverflow" parent="android:Widget.Holo.Light.ActionButton.Overflow">
<item name="android:src">@drawable/triple_dot_icon</item>
</style>
<style name="MyApp.PopupMenu" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">@color/colorLightGrey</item>
</style>
<style name="MyPopBackground" parent="android:style/Widget.Holo.Light.ListPopupWindow">
<item name="android:popupBackground">@color/colorGrey</item>
</style>
</resources>
可能有一些无用的样式,但是由于我不知道问题所在。我把它们留在那里。我的目标是使菜单看起来像之前显示的菜单。
我将很高兴为您提供帮助,谢谢您的帮助。
答案 0 :(得分:1)
将popupMenu样式添加到您的AppTheme
<style name="AppTheme" parent="android:Theme.Light">
<item name="android:popupMenuStyle">@style/PopupMenu</item>
</style>
<style name="PopupMenu" parent="@android:style/Widget.PopupMenu">
<item name="android:popupBackground">@android:color/white</item>
</style>
然后访问mainifest.xml
<application
android:theme="@style/AppTheme" >
</application>
答案 1 :(得分:0)
在AppTheme风格中,您添加<item name="android:itemBackground">@color/colorMenu</item>