본문 바로가기
2022년

Popup Menu

by 박상윤 2021. 10. 19.

- Popup Menu는 개발자가 원할 때 원하는 곳에 띄울 수 있는 메뉴이다.

 

주요 프로퍼티

- menu : Popup Menu의 메뉴를 관리하는 객체를 반환한다. 이를 통해서 메뉴를 구성한다.

package com.sypark.popupmenu

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.PopupMenu
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        button.setOnClickListener {
            //PopupMenu객체를 생성한다.
            val pop = PopupMenu(this,textView)

            //Menu를 구성
            menuInflater.inflate(R.menu.menu1,pop.menu)
            //pop.menu -> 팝업메뉴에서 관리하는 메뉴객체 추출
            //R.menu.menu1 -> 이 xml을 통해서 메뉴를 구성한다.

            pop.show()
            //메뉴를 보여주고 싶은 경우
        }
    }
}

 

주요 리스너

- onMenuItemClickListener : 메뉴의 항목을 눌렀을 때 반응하는 리스너

 

pop.setOnMenuItemClickListener {
                when(it.itemId){
                    R.id.item1 -> {
                        textView.text = "메뉴 1을 눌렀습니다"
                    }
                    R.id.item2 -> {
                        textView.text = "메뉴 2를 눌렀습니다"
                    }
                    R.id.item3 -> {
                        textView.text = "메뉴 3을 눌렀습니다"
                    }
                }

                true
            }// 이함수는 true,false 둘중 하나를 반환을 해주어야 한다.
            //고차함수의 맨 마지막 값은 반환값이 된다.

 

팝업메뉴1을 누르고 난 후

 

정리

-Popup Menu는 개발자가 원할 때 원하는 곳에 띄울 수 있는 메뉴이다.

'2022년' 카테고리의 다른 글

Activity실행하기  (0) 2021.10.20
Activity  (0) 2021.10.20
Context Menu  (0) 2021.10.18
Option Menu  (0) 2021.10.18
권한  (0) 2021.10.18