2017-07-18 107 views
0

我在我的应用程序中使用PopUp Menu。一个在我的弹出式菜单中的项目有三个子菜单,就像弹出菜单子菜单标题颜色

  1. SetAs
    • 铃声
    • 通知
    • 报警
  2. 项目2
  3. 项目3

点击“SetAs”项目后,我只看到三个子项目,没有别的。我使用的是旧版本的支持库,如v22v23,我不确定。但是当我在我的项目中将Android支持库更新为v7:25.4.0时,我在子菜单视图中看到了一个标题(SetAs)。

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

screenshot

现在我的问题是如何能更改这个标题的颜色?

回答

1

我已经与下面的代码编程方式做到了这一点:

将这个你叫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().