본문 바로가기

Android

안드로이드(Android) ActionBar 수정 방법

ActionBar 수정 방법도 다른 레이아웃과 마찬가지로 코드에서 수정하는 것과 리소스에서 수정하는 방법이 있습니다.
 
코드에서 수정하는 방법은 손쉽긴 하지만 수정하는데 한계가 있으며, 리소스에서 수정하는 방법은 약간번거롭기는 하지만 거의 모든 수정이 다 가능한 것으로 보입니다.
 
[코드에서 수정하는 방법]
우선 액션바를 아래와 같은 방법으로 가져옵니다.
ActionBar actionBar = getActionBar();
숨기거나 나타내는 방법은 아래와 같습니다.
actionBar.hide();
actionBar.show();
 
제목과 부제목 추가는 아래와 같습니다.
actionBar.setTitle(CharSequence title);
actionBar.setSubtitle(CharSequence subtitle);
 
로고와 타이틀을 나타내거나 숨기는 방법은 아래와 같습니다.
actionBar.setDisplayUseLogoEnabled(boolean useLogo);
actionBar.setDisplayShowTitleEnabled(boolean showTitle);
 
그밖에도 다양 메소드를 지원합니다. 그것들은 아래의 사이트에서 확인 가능합니다.
 
[리소스에서 수정하는 방법]

우선

res/values/style.xml 아래의 코드를 추가합니다. 코드는 노란색으로 칠했습니다.

 

<!--

manifest에서 Theme 사용 스타일을 만듭니다.

ActionBar 스타일 적용하기위해 android:actionBarStyle 아이템을 추가합니다.

-->

    <style name="CustomActionBarTheme" parent="android:style/Theme.Holo.Light">
        <item name="android:actionBarStyle">@style/CustomActionBar</item>
    </style>

 

<!--

ActionBar 스타일에 사용  style 추가합니다.

ActionBar 타이틀에 스타일을 적용하기위해 android:titleTextStyle 아이템을 추가합니다.

-->    
    <style name="CustomActionBar" parent="android:style/Widget.Holo.ActionBar">
        <item name="android:titleTextStyle">@style/CustomActionBarTitleText</item>
    </style>

 

<!--

ActionBar 타이틀에 적용 스타일 아이템을 추가합니다.

-->    
    <style name="CustomActionBarTitleText" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title">
     <item name="android:textColor">@color/twit_blue</item>
    </style>

 

위의 스타일을 적용하기 위해

manifest.xml 아래와 같이 적용합니다.

 

<application android:name="App"
   android:label="@string/app_name"
   android:theme="@style/CustomActionBarTheme"
    >

 

위의 내용은 설명을 위해 간단하게 작성한 것입니다.

위와 같은 방법을용해서 기존의 스타일과 테마를 적용하는 방법을 이용하면, ActionBar 마음대로 수정  있을것으로 보입니다.

 

액션바에 관해 간단하게 정리해 놓은 사이트는 아래와 같습니다.

http://developer.android.com/guide/topics/ui/actionbar.html