반응형
Popup Menu
- 개발자가 원할 때 코드를 통해 원하는 곳(원하는 view)에 띄울 수 있는 메뉴
주요 프로퍼티
- menu : Popup Menu의 메뉴를 관리하는 객체를 반환 -> 메뉴 구성
/*버튼 클릭시 팝업메뉴 뜨는 코드 작성*/
binding.button.setOnClickListener {
// PopMenu 객체 구성
// 메뉴를 표시할 뷰를 지정
val pop = PopupMenu(this, binding.textView)
// 메뉴를 구성
menuInflater.inflate(R.menu.menu1, pop.menu) // PopMenu의 메뉴를 관리하는 메뉴 객체를 추출
pop.show() // 팝업 메뉴를 보여줄 때 사용해야 함
}
주요 리스너
- OnMenuItemClickListener : 메뉴의 항목을 눌렀을 때 반응
pop.setOnMenuItemClickListener {
// it : MenuItem! -> 선택한 항목의 menuItem 객체
when (it.itemId) {
R.id.item1 -> {
binding.textView.text = "메뉴1을 눌렀습니당."
}
R.id.item2 -> {
binding.textView.text = "메뉴2을 눌렀습니당."
}
}
//boolean 타입 반환(t/f 뭘하든 개발자 입장에서는 동일, 내부적으로 처리 방식 다름)
// 람다식이나 고차함수에서는 가장 마지막에 작성한 값이 반환값(중요!!)
true
}
반응형
'Android' 카테고리의 다른 글
[안드로이드/Activity] Intent 와 Activity 실행 (0) | 2023.03.10 |
---|---|
[안드로이드/Activity] Activity란 무엇인가? (0) | 2023.03.08 |
[안드로이드/Menu] Context Menu (0) | 2023.03.06 |
[안드로이드/Menu] Option Menu (0) | 2023.03.05 |
[안드로이드/권한] 권한 등록 및 허가 (0) | 2023.03.02 |