Android Kotlin创建自定义popup菜单

我试图创建类似这样的popup式菜单,单击Android中使用Koltin的按钮视图。 我搜索了SOF,Google没有find任何建议。 任何人都可以提供一个示例代码来实现它使用kotlin。

最后,我做到了,它可以帮助别人

步骤1.首先,创建一个activity_main.xml包含一个名为my_button的按钮

第2步。然后采取res /菜单下的header_menu.xml:

       

第3步。最后,在MainActivity.java中使用它:

 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val clickListener = View.OnClickListener { view -> when (view.id) { R.id.my_button -> { showPopup(view) } } } my_button.setOnClickListener(clickListener) } private fun showPopup(view: View) { var popup: PopupMenu? = null; popup = PopupMenu(this, view) popup.inflate(R.menu.header_menu) popup.setOnMenuItemClickListener(PopupMenu.OnMenuItemClickListener { item: MenuItem? -> when (item!!.itemId) { R.id.header1 -> { Toast.makeText(this@MainActivity, item.title, Toast.LENGTH_SHORT).show(); } R.id.header2 -> { Toast.makeText(this@MainActivity, item.title, Toast.LENGTH_SHORT).show(); } R.id.header3 -> { Toast.makeText(this@MainActivity, item.title, Toast.LENGTH_SHORT).show(); } } true }) popup.show() }