Study Record

[안드로이드] 메뉴 만들기 본문

안드로이드

[안드로이드] 메뉴 만들기

초코초코초코 2023. 7. 20. 17:18
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)
   }
}

 

 

 

 

Menus  |  Android Developers

Menus Stay organized with collections Save and categorize content based on your preferences. Try the Compose way Jetpack Compose is the recommended UI toolkit for Android. Learn how to add components in Compose. Menus are a common user interface component

developer.android.com

 

728x90