代码之家  ›  专栏  ›  技术社区  ›  Majid

弹出菜单子菜单标题颜色

  •  1
  • Majid  · 技术社区  · 7 年前

    PopUp Menu 在我的申请中。我弹出菜单中的一项有三个子菜单,如

    1. SetAs公司
      • 通知
      • 惊恐
    2. 第3项

    .

    v22 v23 ,我不确定。但是当我将android支持库更新为 v7:25.4.0

    screenshot

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

    1 回复  |  直到 7 年前
        1
  •  2
  •   S.R    7 年前

    我用以下代码编程实现了这一点:

    打电话之前先把这个放好 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().