Kotlin底部显示的弹出按钮

31moq8wy  于 2022-11-16  发布在  Kotlin
关注(0)|答案(1)|浏览(203)

我正在一个片段上制作一个弹出菜单,问题是当我显示弹出菜单时,它显示在屏幕的底部,我希望它显示在右上角,有人知道如何解决它吗?提前感谢!!!

编码:

override fun onCreateView(
    inflater: LayoutInflater, container: ViewGroup?,
    savedInstanceState: Bundle?
): View? {
    // Inflate the layout for this fragment
    binding = FragmentProfileBinding.inflate(layoutInflater)

    setHasOptionsMenu(true)

    binding.menuImageView.setOnClickListener(){
        showPopup(binding.root)
    }

    return binding.root
}

fun showPopup(v : View){
    val popup = PopupMenu(context, v)
    val inflater: MenuInflater = popup.menuInflater
    inflater.inflate(R.menu.profile_menu, popup.menu)
    popup.setOnMenuItemClickListener { menuItem ->
        when(menuItem.itemId){
            R.id.about_menu-> {

            }
            R.id.signout_menu-> {

            }
        }
        true
    }
    popup.show()
}

我试图在右上角显示弹出菜单,但它显示在左下角

uqdfh47h

uqdfh47h1#

解决了,当你调用函数showPopUp()时,你必须把视图放在你想要它出现的地方,在我的例子中是showPopUp(binding.menuImageView)谢谢。

相关问题