본문 바로가기
Android Studio

액션 바(ActionBar) 활용하기

by ssury94 2025. 3. 5.

안드로이드에서 액션바(ActionBar)는 사용자 인터페이스(UI)의 상단에 위치하는 중요한 요소로, 애플리케이션의 제목, 네비게이션, 사용자 인터페이스 요소 등을 표시하는 역할을 합니다.

액션바는 앱의 전체적인 UI 흐름을 제어하고 사용자와 상호작용할 수 있게 도와줍니다.

주요 역할:

  1. 제목 표시: 액션바는 앱이나 화면의 제목을 표시하는 기본적인 위치입니다. 예를 들어, 앱의 이름이나 특정 화면에 대한 제목을 액션바에 표시합니다.
  2. 내비게이션 기능: 액션바는 뒤로 가기 버튼, , 드롭다운 메뉴 등 다양한 내비게이션 요소를 제공할 수 있습니다. 사용자에게 애플리케이션 내에서의 위치화면 간 이동을 편리하게 돕습니다.
  3. 액션 아이템 추가: 액션바에는 버튼, 메뉴, 검색창 등의 아이템을 추가하여 사용자가 빠르게 액션을 수행할 수 있게 합니다. 예를 들어, 저장, 편집, 설정 버튼 등을 액션바에 배치할 수 있습니다.
  4. 사용자 인터페이스(UI) 구성: 액션바는 사용자 인터페이스의 상단에 일관된 디자인을 제공하여 사용자가 앱 내에서 쉽게 탐색할 수 있도록 합니다.

 

 

 

액션바 구성 요소:

  1. 타이틀(Title): 화면의 제목을 나타냅니다.
  2. 메뉴(Menu): 액션바에 표시되는 메뉴 아이템들로, 버튼이나 드롭다운 메뉴 형식으로 사용자가 클릭할 수 있는 항목들이 포함됩니다.
  3. 서브타이틀(SubTitle): 타이틀 아래에 표시되는 부가적인 정보를 제공할 수 있는 텍스트입니다.
  4. 아이콘(Icon): 앱 아이콘 또는 특정 작업을 수행하는 아이콘을 액션바에 배치할 수 있습니다.
  5. 네비게이션 아이템(Navigation item): 화면 전환을 돕는 아이템들, 예를 들어 뒤로가기 버튼이 여기에 해당합니다.

 

 

액션바 설정 방법:

themes.xml에서 테마 바꾸기

<resources xmlns:tools="http://schemas.android.com/tools">
    <!-- Base application theme. -->
    <style name="Base.Theme.SimpleMemo" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
        <!-- Customize your light theme here. -->
        <!-- <item name="colorPrimary">@color/my_light_primary</item> -->
    </style>

    <style name="Theme.SimpleMemo" parent="Base.Theme.SimpleMemo" />
</resources>

 

Theme에 ActionBar를 지원하는 테마를 선택합니다.

 

 

res패키지에 menu패키지 추가

- xml파일은 유지관리를 위해 액션바에 사용될 액티비티 이름과 맞추는것을 추천!

프레임워크가 menu패키지의 새 xml은 MenuResource로 처리해줍니다.

 

 

 

 

showAsAction 설정으로 아이콘이 항상 보이게 할지, 드롭다운으로 메뉴들이 보이게 할지 설정 가능합니다.

 

 

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

    // 액션바에 제목 설정
    getSupportActionBar().setTitle("MainActivity");
}

위와 같이 getSupportActionBar().setTitle("제목")을 사용하면 액션바의 제목을 설정할 수 있습니다.

2. 액션바의 뒤로가기 버튼 추가

액션바에 뒤로가기 버튼을 추가할 수 있습니다. 이를 통해 사용자가 이전 화면으로 돌아갈 수 있게 합니다.

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

    // 뒤로가기 버튼 추가
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    if (item.getItemId() == android.R.id.home) {
        // 뒤로가기 버튼 클릭 시 수행할 동작
        finish();
        return true;
    }
    return super.onOptionsItemSelected(item);
}