본문 바로가기
Android Studio

[Android Studio] ActionBar 사용하기

by dong_su 2023. 12. 29.

<style name="Base.Theme.Network3" parent="Theme.MaterialComponents.DayNight.DarkActionBar">

res - values - themes의 두 파일에 <resources 태그 안 style 태그 안 parent=에 저렇게 작성한다.

 

res 폴더 - New - Android Resource Directory 클릭

 

디렉토리 이름은 메뉴, 리소스 타입도 메뉴로 한다.

 

만든 디렉토리에 리소스파일 생성한다. 파일 이름은 액티비티와 맞춘다.

 

만든 파일에 Menu Item 추가하고 Commen Attributes 속성만 건드린다.

id는 유지보수하기 편하게 menu 붙혀서 만든다.

showAsAction = 메뉴 숨길지 보일지


코드로 적용하기

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    getSupportActionBar().setTitle("직원 리스트"); // 액션 바 타이틀
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); // 뒤로가기 버튼 생성

onCreate 함수 안에 위 getSupportActionBar로 제목과 뒤로가기 버튼 생성 코드를 작성

 

// 화살표 버튼 누르면 동작하는 함수
@Override
public boolean onSupportNavigateUp() {
    finish();
    return true;
}

// 액션바에 메뉴 아이콘이 나오도록 설정하는 함수
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

// 액션바의 메뉴 아이콘 클릭했을 때 실행하는 함수
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
    if (item.getItemId() == R.id.menuAdd){
        Intent intent = new Intent(MainActivity.this, AddActivity.class);
        launcher.launch(intent);
    }

    return super.onOptionsItemSelected(item);
}

위 함수는 onCreate 함수 밖에다가 작성한다.