我正在一个片段上制作一个弹出菜单,问题是当我显示弹出菜单时,它显示在屏幕的底部,我希望它显示在右上角,有人知道如何解决它吗?提前感谢!!!
编码:
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()
}
我试图在右上角显示弹出菜单,但它显示在左下角
1条答案
按热度按时间uqdfh47h1#
解决了,当你调用函数showPopUp()时,你必须把视图放在你想要它出现的地方,在我的例子中是showPopUp(binding.menuImageView)谢谢。