2017-07-18 86 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().