2013-12-08 181 views
3

的文本大小我想改變彈出菜單項的文字大小。我已經編寫了這段代碼來創建一個彈出式菜單。 但我的問題是我couldnot訪問彈出菜單,即「EXIT」的TextView的,這樣我可以使用變更彈出菜單項

exitItem.setTextSize(40); 


    //my code 
    popupmenu = new PopupMenu(MainActivity.this, findViewById(R.id.actionbar_item)); 
    popupmenu.getMenu().add(Menu.NONE, 0, Menu.NONE, "Exit"); 
    popupmenu.setOnMenuItemClickListener(this); 

我還沒有創建任何單獨的XML文件中誇大這些項目。我想以編程方式做這些,因爲這些popupitems是動態生成的。

在此先感謝。

+0

你解決問題了嗎? – Dmide

+0

不,我仍然堅持..我想從我身邊改變整個場景。 –

+0

可能的[如何爲選項菜單設置字體?]的副本(http://stackoverflow.com/questions/4135699/how-to-set-a-font-for-the-options-menu) –

回答

0

恐怕不能這樣做。你可以做的最接近的事是:

  • 創建ViewpreviousView它實現R.id.actionbar_item
  • 使用View處理的文字大小
  • 通過popupmenu.getMenu().add(Menu.NONE, 0 , Menu.NONE, "Exit");
  • 創建一個項目到您的PopupMenu添加MenuItem對象menuItem via MenuItem menuItem = popupmenu.getMenu().getItem(0);
  • 然後設置menuItem.setActionView(previousView);

這是你最好的選擇,但我沒有測試它。祝你好運!

0

不幸的是,這不是小事。要改變MenuItem的外觀,即使在這個簡單的例子,你就會有一個自定義設置View它。但是,只有當MenuItem被顯示爲動作,即不在列表中時,該動作纔會起作用,這不是你的情況。要在PopupMenu中自定義列表的外觀,您必須改用PopUpWindow。例如,請參閱this answer

在你的情況,你要添加動態元素也許是最好的解決辦法是實現自己的Adapter適當getView()方法及ListViewPopUpWindow一起使用。