TIL/Android
Menu
J1-H00N
2024. 4. 9. 14:48
Option Menu
안드로이드 화면 하나당 하나씩 가질 수 있는 메뉴를 의미하며, 현재 보이는 화면(Activity)의 메인 메뉴가 된다.
- onCreateOptionsMenu
- 화면을 관리하는 객체인 Activity 객체가 만들어 질 때 자동으로 호출되는 메서드이며 여기에서 메뉴를 생성하게 된다.
- 메서드가 true를 반환하면 메뉴가 나타난다.
- OnOptionsItemSelected
- 사용자가 메뉴를 선택했을 때 자동으로 호출되는 메서드이다.
res > New > Android Resource File > Resource type : Menu 를 통해 xml 파일로 만드는 방법(직관적)과 onCreateOptionsMenu에서 menu.add(Menu.NONE, Menu.FIRST...), menu.addSubMenu("title")등의 코드로 만드는 방법(유동적)이 있다.
Context Menu
화면에 배치된 뷰에 설정할 수 있는 메뉴이다. 메뉴가 설정된 뷰를 길게 누르면 메뉴가 나타난다.
마찬가지로 xml, 코드 둘 다를 통해 만들 수 있다.
- registerForContext
- Context Menu를 등록하는 메서드
- 메서드의 매개 변수로 넣어준 뷰 객체에 메뉴가 설정된다.
- onCreateContextMenu
- 뷰를 길게 누르면 호출되는 메서드
- 여기에서 메뉴를 구성한다.
- onContextItemSelected
- 사용자가 메뉴 항목을 선택했을 때 자동으로 호출되는 메서드이다.
Popup Menu
개발자가 원할 때 원하는 곳에 띄울 수 있는 메뉴이다.
- getMenu
- Popup Menu의 메뉴를 관리하는 객체를 반환한다. 이를 통해 메뉴를 구성한다.
- OnMenuItemClickListener
- 메뉴의 항목을 눌렀을 때 반응하는 리스너