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

时间:2014-09-16 16:20:02

标签: android css

另一个Android主题风格问题...因为我搜索了网站,但在这里找不到答案是我的问题。

我正在尝试更改操作栏溢出所显示的PopupMenu的文本颜色,但它没有改变。它改变了背景,但不是文本颜色。顺便说一下这是由“Android Action Bar Style Generator”生成的代码,我刚刚添加了Text外观标签。

这是我的代码:

<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中测试它

1 个答案:

答案 0 :(得分:1)

好的家伙所以我花了将近一个星期的时间试图改变这个但是没有办法做到这一点......那我该怎么办?刚刚创建了一个弹出窗口并将其附加到一个看起来像溢出菜单的操作项。

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的锚点视图非常重要的一点是你必须使用findViewById()直接从你的活动中获取它。如果从MenuItemCompat.getActionView()获取它,PopupMenu将引发异常。我明确表示这是因为我遇到了这个问题而且没有任何地方说明你必须从那里得到它。

我希望这有助于某人!