📝액션바 아이콘 추가하기
res파일에 마우스 우클릭 New > Android Resource File
액션바 오른쪽 끝에 나오는 아이콘을 메뉴라 한다
파일명은 main(메인 액티비티에서 사용할거라), Resource type은 Menu로 설정해서 생성
플러스 액션은 리소스파일에 벡터이미지를 생성해 Menu item으로 넣어주었다
showAsAction으로 메뉴 숨김 / 표시 설정해준다
never는 버튼을 표시X(... 안으로 들어간다), always 항상 표시
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menuAdd"
android:icon="@drawable/baseline_add_24"
android:title="Add"
app:showAsAction="always" />
<item
android:id="@+id/menuAbout"
android:title="About"
app:showAsAction="never" />
</menu>
위처럼 필요한 아이콘을 만들고 이 아이콘을 사용할 액티비티로 돌아가 아래 코드처럼 입력해 사용한다
※ onCreate 함수를 접고 밑에 입력해주면 편함
// 액션바의 메뉴는 전용 함수 오버라이딩해서 사용
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// 액션바에 메뉴가 나오도록 설정
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
// 액션바의 메뉴를 탭했을때 실행하는 함수 오버라이딩해서 사용
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
int itemId = item.getItemId();
if (itemId == R.id.menuAdd) {
// Add 실행하는 코드
Intent intent = new Intent(MainActivity.this, AddActivity.class);
launcher.launch(intent);
} else if (itemId == R.id.menuAbout) {
// About 실행하는 코드
}
return super.onOptionsItemSelected(item);
}
+ 액션바의 타이틀을 변경하고 싶을때는 onCreate 함수의 안쪽 위에서 아래 코드처럼 입력해준다
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 액션바 타이틀 변경하기
getSupportActionBar().setTitle("직원 리스트");
+ 다른 액티비티의 액션바의 메뉴를 다르게 설정하고 싶다면 menu 우클릭 > New > Android Resource File로 만들어준다
처음 파일명은 메인액티비티라 main으로 했으니 생성할 파일명도 해당 액티비티의 이름을 따서 입력하면 유지보수가 편리하다
'Android Studio' 카테고리의 다른 글
[Android Studio] 네트워크로 정보 가져올때 ProgressBar 사용하기 (0) | 2023.02.07 |
---|---|
[Android Studio] Floating Action Button 사용하기 (0) | 2023.02.06 |
[Android Studio] Json 데이터 파싱하기(+JsonArray를 RecyclerView로 처리하기) (0) | 2023.02.03 |
[Android Studio] 안드로이드 네트워크 통신 Volley 라이브러리 사용하기 (0) | 2023.02.03 |
[Android Studio] 안드로이드 네트워크 통신을 위해 앱의 권한 설정하기(+에뮬레이터용 네트워크 통신) (0) | 2023.02.03 |
댓글