安卓弹出式菜单标题栏

6
我正在使用androidx.appcompat.widget包中的PopupMenu(见图片)。 只是好奇是否有任何简单的方法来设置弹出窗口的标题。或者更改第一个菜单项的透明度,并禁用它的涟漪效果,使其不可点击并看起来像一个标题。 有什么想法吗?
提前感谢。PopupMenu

你能添加你当前的弹出菜单XML吗? - Thorvald
1个回答

3

这个问题被提出已经有一段时间了,但我有同样的问题,也许我的解决方案对某些人会有用。

PopupMenu(requireContext(), anchorView).apply{
   //==== Popup title, non-selectable
   menu.add(Menu.NONE, -1, 0, "Popup Title").apply {
        isEnabled = false }

   //==== Popup items
   menu.add(Menu.NONE, 1, 1, "First selectable item")
   menu.add(Menu.NONE, 2, 2, "Second selectable item")
   menu.add(Menu.NONE, 3, 3, "Third selectable item")

   //==== Selected item callback
   setOnMenuItemClickListener {item ->
      // Whatever you need to do according to the selected item.itemId
      // ...
      return@setOnMenuItemClickListener true
   }
   show()
}

重要的是以下几点:
  1. 将您想要看起来像标题的项目设置为 isEnabled = false (在我的情况下,它是不可选择和浅灰色)
  2. 将"header"项目的顺序参数设置为小于其他项目的任何顺序参数。

如果您从xml中填充弹出式菜单,请将以下属性设置为“header item”:android:enabled="false"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接