- 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 |