我正在try 使用Koltin在Android中创建类似于点击按钮视图this的弹出菜单.我搜索了软件,谷歌没有找到任何建议.任何人都可以提供一个示例代码来使用kotlin实现它.
我正在try 使用Koltin在Android中创建类似于点击按钮视图this的弹出菜单.我搜索了软件,谷歌没有找到任何建议.任何人都可以提供一个示例代码来使用kotlin实现它.
最后,我做到了,这可能会帮助别人
步骤1.首先,创建一个activity_main.xml
包含一个名为my_button
的按钮
Step 2. Then take header_menu.xml
under res/menu
:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/header1"
android:title="H1" />
<item
android:id="@+id/header2"
android:title="H2" />
<item
android:id="@+id/header3"
android:title="H3" />
</menu>
第三步.最后,在MainActivity.kt
种情况下,像这样使用它:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
my_button.setOnClickListener {
showPopup(my_button)
}
}
private fun showPopup(view: View) {
val 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()
}