Android

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

누더기 2014. 10. 13. 13:54
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