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);
}
'안드로이드 스튜디오' 카테고리의 다른 글
[ 안드로이드 ] 카메라 / 앨범 사용법 (0) | 2022.07.21 |
---|---|
[ 안드로이드 ] 이미지 처리를 위한 Glide 라이브러리 사용법 (2) | 2022.07.20 |
[ 안드로이드 ] EditText 입력 변화 처리, TextWatcher 사용법 (0) | 2022.07.18 |
[ 안드로이드 ] Serializable을 활용하여 액티비티에 객체 전달 (0) | 2022.07.18 |
[ 안드로이드 ] 데이터베이스 SQLite 사용법 / CRUD 예제 (0) | 2022.07.15 |