안드로이드 스튜디오
[ 안드로이드 ] ActionBar menu 사용법
zzuvely
2022. 7. 19. 16:43
activity_add.xml / activity_save.xml 각각 다른 메뉴 아이콘을 넣을 경우
• activity_main.xml
1) 아이콘 생성 : res > drawable > New > Vector Asset
2) 메뉴 파일 생성 : res > menu > menu_add.xml
* showAsAction="always" : 아이템을 항상 타이틀 바에 표시함
<?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/itemAdd"
android:icon="@drawable/ic_menu_add"
android:title="Item"
app:showAsAction="always" />
</menu>
3) 메뉴를 화면에 나타나게 해준다. (MainActivity.java)
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_add, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
if(id == R.id.itemAdd) {
// 메뉴 버튼(아이콘)을 누르면 화면 전환
Intent intent = new Intent(MainActivity.this, AddActivity.class);
startActivity(intent);
}
return super.onOptionsItemSelected(item);
}
• activity_add.xml
1) 아이콘 생성 : res > drawable > New > Vector Asset
2) 메뉴 파일 생성 : res > menu > menu_save.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/itemSave"
android:title="Item"
android:icon="@drawable/ic_menu_save"
app:showAsAction="always"/>
</menu>
3) 메뉴를 화면에 나타나게 해준다. (AddActivity.java)
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_save, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
if(id == R.id.itemSave) {
finish();
}
return super.onOptionsItemSelected(item);
}