250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 테스트
- intent
- Compose
- Kotlin
- data
- 계측
- binding
- tabbar
- LifeCycle
- 안드로이드
- drift
- Button
- Flutter
- activity
- Coroutines
- 앱
- 앱바
- Dialog
- CustomScrollView
- scroll
- appbar
- ScrollView
- viewmodel
- Navigation
- DART
- textfield
- TEST
- android
- textview
- livedata
Archives
- Today
- Total
Study Record
[안드로이드] 메뉴 만들기 본문
728x90
😶 Menu
앱바에서 선택할 수 있는 메뉴를 만들 수 있다.
menu 디렉터리 만들기
res/menu 디렉터리가 없다면 res 에서 새로운 Android Resource Directory을 만든다.
menu 디렉터리에 새로운 Android Resource file 을 만든다. (ex. menu.xml)
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/action_switch_layout"
android:title="@string/action_switch_layout"
android:icon="@drawable/ic_grid_layout"
app:showAsAction="always" />
</menu>
<item> 태그로 메뉴를 만들 수 있는데 android:id 는 메뉴 옵션이 가지는 id 로 코드에서 참조할 때 쓰인다.
android:title 은 화면에서는 보이지 않지만 타이틀 이름이다. android:icon 은 메뉴 아이콘을 설정한다. android:showAsAction 을 always 로 하면 앱바에서 항상 보여지게 되고 overflow 메뉴로 보여지지 않는다.
Activity 에서 메뉴를 클릭했을 때의 이벤트는 onOptionsItemSelected 함수로 받을 수 있다. <item> 태스에서 설정한 id 값으로 클릭된 메뉴를 알 수 있다.
override fun onOptionsItemSelected(item: MenuItem): Boolean {
return when (item.itemId) {
R.id.action_switch_layout -> {
/* Menu Click Event */
return true
}
else -> super.onOptionsItemSelected(item)
}
}
728x90
'안드로이드' 카테고리의 다른 글
[안드로이드] ViewModel 과 LiveData & Data Binding (0) | 2023.07.28 |
---|---|
[안드로이드] Dialog 정리 (0) | 2023.07.26 |
[안드로이드] Activity 시작하기 (0) | 2023.07.20 |
[안드로이드] 계측 테스트 참고 (0) | 2023.07.18 |
[안드로이드] 간단한 단위 테스트 실행해보기 (0) | 2023.07.18 |