簡體   English   中英

更改彈出菜單項的文本大小

[英]changing text size of popup menu item

我想更改彈出菜單項的文本大小。 我編寫了這段代碼來創建一個彈出菜單。 但我的問題是我無法訪問popupmenu的textView,即“EXIT”,以便我可以使用

    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是動態生成的。

提前致謝。

不幸的是,這不是微不足道的。 要更改MenuItem外觀,即使在這種簡單的情況下,您也必須為其設置自定義View 但是只有當MenuItem顯示為動作時才會起作用,即不在列表中,這不是你的情況。 要在PopupMenu自定義列表的外觀,您必須使用PopUpWindow 例如,請參閱此答案

在您的情況下,因為您想要動態添加元素,最好的解決方案是使用正確的getView()方法實現您自己的Adapter ,並將它與ListViewPopUpWindow一起使用。

我擔心不能那樣做。 你最接近的事情是:

  • 創建一個實現R.id.actionbar_itemView previousView
  • 使用該View來操作文本大小
  • 通過popupmenu.getMenu().add(Menu.NONE, 0 , Menu.NONE, "Exit");添加項目到PopupMenu popupmenu.getMenu().add(Menu.NONE, 0 , Menu.NONE, "Exit");
  • 通過MenuItem menuItem = popupmenu.getMenu().getItem(0);創建一個MenuItem對象menuItem MenuItem menuItem = popupmenu.getMenu().getItem(0);
  • 然后設置menuItem.setActionView(previousView);

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM