android - 更改 Android PopupMenu 文本颜色不起作用

标签 android css

另一个 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/

相关文章:

html - 更改标题元素内的颜色无法正常工作

java - 如何从 JSONObject 的路径中获取嵌套值?

java - 以编程方式将布局添加到 fragment

android - 如何用android检测震动事件?

javascript - 使用 Angularjs 时更新 shell 页面上的导航 CSS

javascript - 粘性标题的框阴影应仅在滚动时激活

Javascript & CSS - 打开菜单有故障过渡

php - ImageCreate() 错误大小问题

android - 我们如何在android中关闭自动亮度?

android - 计算 Android/iPhone 应用程序的功耗 (mW)