弹出菜单子菜单标题颜色

时间:2017-07-18 16:24:39

标签: android popup android-support-library popupmenu

我在我的应用程序中使用PopUp Menu。我的弹出菜单中的一个项目有三个子菜单,如

  1. SetAs
    • 铃声
    • 通知
    • 报警
  2. 项目2
  3. 项目3
  4. 点击" SetAs"项目,我只是看到三个子项目,没有别的。我使用的是旧版支持库,例如v22v23,我不确定。但是当我在项目中将android支持库更新到v7:25.4.0时,我看到子菜单视图中显示了一个标题(SetAs)。

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

    screenshot

    现在我的问题是如何更改此标题的颜色?

1 个答案:

答案 0 :(得分:2)

我已使用以下代码以编程方式完成此操作:

在致电popup.show()

之前先把它放好
// Change PopupMenu subMenu title color
PopupMenu popup = new PopupMenu(activity, view);
Menu itemSetAs = popup.getMenu();
SubMenu s = itemSetAs.findItem(R.id.SetAs).getSubMenu();
SpannableString headerTitle = new SpannableString(itemSetAs.findItem(R.id.SetAs).getTitle());

// Change the color: 
headerTitle.setSpan(new ForegroundColorSpan(Color.YOUR_COLOR), 0, headerTitle.length(), 0);

// You can even change the size:
int textSize = getResources().getDimensionPixelSize(R.dimen.your_size);
headerTitle.setSpan(new AbsoluteSizeSpan(textSize), 0, headerTitle.length(), SPAN_INCLUSIVE_INCLUSIVE);

s.setHeaderTitle(headerTitle);

popup.show().
相关问题