상세 컨텐츠

본문 제목

[안드로이드 코틀린] 옵션메뉴(OptionMenu), 서브메뉴(Sub Menu) 만드는 방법

안드로이드

by aries574 2022. 8. 23. 13:28

본문


이번 시간에는 점 3개 이미지로 익숙한 옵션 메뉴(OptionMenu) 서브메뉴(Sub Menu) 만드는 방법을 알아보겠습니다.


목차

1. 실행 화면
2. 메뉴 Menu
3. 메인 코드 MainActivity.kt


1. 실행 화면

 

2. 메뉴 Menu

 - 설명 -

1. 메뉴 화면은 menu폴더에서 관리합니다.

2. menu 폴더 만드는 방법

res -> Android Resource Directory

 

Resource Type을 menu로 변경하면 Directory name은 자동으로 menu로 변경됩니다. 

3. 옵션 메뉴 화면 option_menu.xml

menu -> 마우스 오른쪽 -> New -> Menu Resource File

showAsAction : 표시 타입

always: 항상

never: 항상 안보이기

ifRoom: 공간이 있을 경우 표시

withText: 아이콘과 텍스트 함께 표시

4. 아이콘 res -> drawable

ic_call.xml
0.00MB

<?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/item1"
        android:title="item1"
        android:icon="@drawable/ic_call"
        app:showAsAction="ifRoom"/>
    <item
        android:id="@+id/item2"
        android:title="item2"
        app:showAsAction="never"/>

    <item
        android:id="@+id/item3"
        android:title="item3"
        app:showAsAction="never">
        <!-- 서브 메뉴 -->
        <menu>
            <item
                android:id="@+id/subItem1"
                android:title="subItem1"/>
            <item
                android:id="@+id/subItem2"
                android:title="subItem2"/>
        </menu>
    </item>
</menu>

 

 

3. 메인 코드 MainActivity.kt

 - 설명 -

 1. onCreateOptionsMenu

  옵션 메뉴 화면 적용 함수

 2. onOptionsItemSelected

  메뉴 선택 시 실행되는 함수

class MainActivity : AppCompatActivity(){
    
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }//onCreate
    
    /**
     * 옵션메뉴 설정
     */
    override fun onCreateOptionsMenu(menu: Menu?): Boolean {

        val inflater: MenuInflater = menuInflater
        inflater.inflate(R.menu.option_menu, menu)

        return true
    }

    /**
     * 옵션메뉴 선택 기능
     */
    override fun onOptionsItemSelected(item: MenuItem): Boolean {

        when(item.itemId){
            R.id.item1 -> {
                Toast.makeText(this, "아이템1 선택", Toast.LENGTH_SHORT).show()
                return true
            }
            R.id.item2 -> {
                Toast.makeText(this, "아이템2 선택", Toast.LENGTH_SHORT).show()
                return true
            }
            R.id.item3 -> {
                Toast.makeText(this, "아이템3 선택", Toast.LENGTH_SHORT).show()
                return true
            }
            R.id.subItem1 -> {
                Toast.makeText(this, "서브아이템1 선택", Toast.LENGTH_SHORT).show()
                return true
            }
            R.id.subItem2 ->{
                Toast.makeText(this, "서브아이템2 선택", Toast.LENGTH_SHORT).show()
                return true
            }

            else -> return false
        }
    }
}

2022.08.22 - [안드로이드] - [안드로이드 코틀린] 텍스트뷰(TextView) 다양하게 꾸며보는 방법

 

[안드로이드 코틀린] 텍스트뷰(TextView) 다양하게 꾸며보는 방법

이번 시간에는 SpannableString 를 이용해서 텍스트뷰 꾸미는 방법에 대하여 알아보겠습니다. 목차 1. 실행 화면 2. 메인 화면 activity_main.xml 3. 메인 코드 MainActivity.kt 1. 실행 화면 2. 메..

aries574.tistory.com

2022.08.19 - [안드로이드] - [안드로이드 코틀린] 속성 애니메이션 (이미지를 움직이게 하는 방법)

 

[안드로이드 코틀린] 속성 애니메이션 (이미지를 움직이게 하는 방법)

이번 시간에는 속성 애니메이션을 통해 아이콘을 가로, 세로, 회전, 사라지고, 보이는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 메인 화면 activity_main.xml 3. 메인 코드 MainActivity.kt 1. 실..

aries574.tistory.com

2022.08.18 - [안드로이드] - [안드로이드 코틀린] 내가 원하는 글씨체 폰트(Font) 적용하는 방법

 

[안드로이드 코틀린] 내가 원하는 글씨체 폰트(Font) 적용하는 방법

이번 시간에는 안드로이드 기본 폰트가 아닌 다운로드한 폰트를 적용하는 방법에 대하여 알아보겠습니다. 목차 1. 실행 화면 2. 폰트 폴더 font 3. 메인 화면 activity_main.xml 4. 메인 코드 MainA

aries574.tistory.com

 

반응형

관련글 더보기

댓글 영역