【问题标题】:change popup submenu dropDown title color更改弹出子菜单下拉标题颜色
【发布时间】:2017-07-19 21:35:48
【问题描述】:

我正在使用默认的 poupMenu,我已将弹出菜单自定义为深色主题,现在我想知道如何更改主题中的弹出子菜单标题颜色?

这是我的风格:

    <style name="MyPopupMenu" parent="@style/Widget.AppCompat.PopupMenu">
    <!-- <item name="android:dropDownHorizontalOffset">-4dp</item>
    <item name="android:dropDownVerticalOffset">4dp</item>-->
    <item name="android:popupBackground">@color/material_grey_900</item>
</style>
<style name="popup_TextStyle" parent="@android:style/TextAppearance.Widget.IconMenu.Item">
    <item name="android:textColor">@drawable/color_item_popup</item>
    <item name="android:textSize">@dimen/popup_text_size</item>
</style>

我在我的主题中使用它是这样的:

<item name="popupMenuStyle">@style/MyPopupMenu</item>
<item name="android:itemTextAppearance">@style/popup_TextStyle</item>

这是我的弹出菜单的视图:

现在我需要更改标题颜色(#FF4081)。

【问题讨论】:

  • 您能否通过屏幕截图演示如何显示PopupMenu,实际和期望的行为?

标签: android popupmenu


【解决方案1】:

我已经用下面的代码以编程方式完成了,如果有人感兴趣:

// Change PopupMenu subMenu title color
PopupMenu popup = new PopupMenu(activity, view);
Menu itemSetAs = popup.getMenu();
SubMenu s = itemSetAs.findItem(R.id.setAsRingtone).getSubMenu();
SpannableString headerTitle = new SpannableString(itemSetAs.findItem(R.id.setAsRingtone).getTitle());
headerTitle.setSpan(new ForegroundColorSpan(Color.YOUR_COLOR), 0, headerTitle.length(), 0);
s.setHeaderTitle(headerTitle);

我自己测试过。

【讨论】:

    猜你喜欢
    • 2014-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-05
    • 1970-01-01
    • 2016-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多