이번 시간에는 점 3개 이미지로 익숙한 옵션 메뉴(OptionMenu)와 서브메뉴(Sub 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
<?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>
- 설명 -
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) 다양하게 꾸며보는 방법
2022.08.19 - [안드로이드] - [안드로이드 코틀린] 속성 애니메이션 (이미지를 움직이게 하는 방법)
2022.08.18 - [안드로이드] - [안드로이드 코틀린] 내가 원하는 글씨체 폰트(Font) 적용하는 방법
[안드로이드 코틀린] 동적 메뉴(ActionMode) 만드는 방법 (2) | 2022.08.25 |
---|---|
[안드로이드 코틀린 ] 컨텍스트메뉴(ContextMenu) 바탕화면 변경하는 방법 (2) | 2022.08.24 |
[안드로이드 코틀린] 텍스트뷰(TextView) 다양하게 꾸며보는 방법 (0) | 2022.08.22 |
[안드로이드 코틀린] 속성 애니메이션 (이미지를 움직이게 하는 방법) (0) | 2022.08.19 |
[안드로이드 코틀린] 내가 원하는 글씨체 폰트(Font) 적용하는 방법 (0) | 2022.08.18 |
댓글 영역