【发布时间】:2026-01-23 15:40:01
【问题描述】:
我正在尝试在我的应用程序上应用一个主题。除了我用 display_menu.xml 文件扩展的菜单之外,一切都工作正常。我在这里做错了什么?
我的样式.xml
<style name="AppTheme.Dark">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:textColorPrimary">@color/textColorPrimary</item>
<item name="android:colorBackground">@color/colorBackground</item>
<item name="android:textColorSecondary">@color/textColorPrimary</item>
<item name="android:windowBackground">@color/colorBackground</item>
<item name="android:textColorSecondaryInverse">@color/textColorPrimary</item>
<item name="android:textColor">@color/textColorPrimary</item>
<item name="cardStyle">@style/CardView.Dark</item>
<item name="android:popupMenuStyle">@style/MyApp.PopupMenu</item>
</style>
<style name="MyApp.PopupMenu" parent="android:Widget.Holo.Light.ListPopupWindow">
<item name="android:popupBackground">@drawable/menu_dropdown_panel</item>
<item name="android:textAppearanceListItem">@style/MyText</item>
</style>
<style name="MyText">
<item name="android:textColor">@color/colorAccent</item>
</style>
我的 display_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/action_refresh"
android:title="@string/action_refresh"
app:showAsAction="never" />
</menu>
我在吹气
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.display_menu, menu);
return true;
}
我的菜单项显示如下:
这是我要放在背景中的可绘制对象:
我正在尝试将菜单项的背景设置为我的 colorPrimary** 并将文本颜色设置为 textColorPrimary
【问题讨论】:
-
因为您没有使用全息主题,所以为什么将弹出菜单的父级应用为 android:Widget.Holo.Light.ListPopupWindow,
-
那我应该改成什么呢?
-
看答案,希望对你有帮助。
标签: android xml colors menuitem android-styles