另一个 android 主题风格的问题...因为我搜索了该站点但在这里找不到答案是我的问题。
我正在尝试更改操作栏溢出显示的 PopupMenu 的文本颜色,但它没有改变。它可以很好地更改背景,但不会更改文本颜色。顺便说一句,这是由“Android Action Bar Style Generator”生成的代码,我只是添加了 Text appearance 标签。
这是我的代码:
<style name="Theme.Styles_mr_action_bar" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="actionBarItemBackground">@drawable/selectable_background_styles_mr_action_bar</item>
<item name="popupMenuStyle">@style/PopupMenu.Styles_mr_action_bar</item>
<item name="dropDownListViewStyle">@style/DropDownListView.Styles_mr_action_bar</item>
<item name="textAppearanceLargePopupMenu">@style/PopupMenu.TextAppearanceLarge</item>
<item name="textAppearanceSmallPopupMenu">@style/PopupMenu.TextAppearanceSmall</item>
</style>
<style name="PopupMenu.Styles_mr_action_bar" parent="@style/Widget.AppCompat.Light.PopupMenu">
<item name="android:popupBackground">@drawable/menu_dropdown_panel_styles_mr_action_bar</item>
</style>
<style name="PopupMenu.TextAppearanceSmall" parent="@style/TextAppearance.AppCompat.Light.Widget.PopupMenu.Small">
<item name="android:textColor">#000000</item>
</style>
<style name="PopupMenu.TextAppearanceLarge" parent="@style/TextAppearance.AppCompat.Light.Widget.PopupMenu.Large">
<item name="android:textColor">#000000</item>
</style>
有什么线索吗?我正在 android 4.4.4 中测试它
最佳答案
好吧,伙计们,我花了将近一周的时间试图改变这一点,但没有办法做到……那我做了什么?刚刚创建了一个弹出窗口并将其附加到一个看起来像溢出菜单的操作项。
PopupMenu mPopupMenu = new PopupMenu(this, findViewById(R.id.fake_overflow_item));
mPopupMenu.getMenuInflater().inflate(R.menu.custom_popup_menu, mPopupMenu.getMenu());
mPopupMenu.setOnMenuItemClickListener(this);
mPopupMenu.show();
PopupMenu 的 anchor View 非常重要的一点是,您必须使用 findViewById() 直接从您的 Activity 中获取它。如果您从 MenuItemCompat.getActionView() 获取它,PopupMenu 将引发异常。我说得很清楚,因为我在这方面遇到了问题,而且没有任何地方说你必须从那里得到它。
我希望这对某人有帮助!
关于android - 更改 Android PopupMenu 文本颜色不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25873810/