How to create custom Popup Menu using Kotlin in AndroidStudio?

前端 未结 2 2172
Happy的楠姐
Happy的楠姐 2021-02-19 22:29

I am trying to create popup menu similarly like this on click on a button view in Android using Koltin. I searched for SOF and Google didn\'t find any suggestions. Can anyone pr

2条回答
  •  面向向阳花
    2021-02-19 23:08

    Following Kotlin's nice and clean principle: You can do this as well:

    1)in your .xml file: (but "onClick" in xml can be used while doing java as well)

    2)in your .kt file: (using kotlin's lambda expression)

    fun showPopUp(view: View) {
        val popupMenu = PopupMenu(this, view)
        val inflater = popupMenu.menuInflater
        inflater.inflate(R.menu.header_menu, popupMenu.menu)
        popupMenu.show()
    
        popupMenu.setOnMenuItemClickListener {
            when(it.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
        }
    }
    

提交回复
热议问题