弹出菜单PopupMenu的写法,两种
方法1:
fun showPopupMenu(view: View?) {
    //当前popupMenu显示的相对view的位置
    val popupMenu = PopupMenu(this, view!!)
    //menu布局
    popupMenu.apply {
        menuInflater.inflate(R.menu.menu_section1, popupMenu.menu)
        //menu的item点击事件
        setOnMenuItemClickListener {
            "${it.title}".showToast(this@PopMenuActivity)
            false
        }
        //popupmenu关闭事件
        setOnDismissListener {
            "关闭popupmenu".showToast(this@PopMenuActivity)
        }
        //显示
        show()
    }
}方法2:
@SuppressLint("ClickableViewAccessibility")
fun showPopupWindow(view: View?) {
    //获取自定义的菜单布局文件
    val popupWindowView = layoutInflater.inflate(R.layout.activity_section1_popmenu, null, false)
    //创建PopupMenu实例,设置菜单宽度和高度为包裹其自身内容
    val popupWindow = PopupWindow(
        popupWindowView,
        ActionBar.LayoutParams.WRAP_CONTENT,
        ActionBar.LayoutParams.WRAP_CONTENT,
        true
    )
    //设置菜单显示在按钮的下面
    popupWindow.showAsDropDown(viewBinding.section1PopupmenuBtn2, 0, 0)
    //单机其他地方消失
    popupWindowView.setOnTouchListener { _, _ ->
        //如果菜单存在并且为显示状态,就关闭菜单并初始化菜单
        if (popupWindow.isShowing) {
            popupWindow.dismiss()
        }
        false
    }
}                
                










