본문 바로가기

안드로이드

ActionBar 수정 방법

ActionBar 수정 방법
SmartPhone/Android / 2011/04/21 23:32
ActionBar 수정 방법도 다른 레이아웃과 마찬가지로 코드에서 수정하는 것과 리소스에서 수정하는 방법이 있습니다.
 
코드에서 수정하는 방법은 손쉽긴 하지만 수정하는데 한계가 있으며, 리소스에서 수정하는 방법은 약간번거롭기는 하지만 거의 모든 수정이 다 가능한 것으로 보입니다.
 
[코드에서 수정하는 방법]
우선 액션바를 아래와 같은 방법으로 가져옵니다.
ActionBar actionBar = getActionBar();
숨기거나 나타내는 방법은 아래와 같습니다.
actionBar.hide();
actionBar.show();
 
제목과 부제목 추가는 아래와 같습니다.
actionBar.setTitle(CharSequence title);
actionBar.setSubtitle(CharSequence subtitle);
 
로고와 타이틀을 나타내거나 숨기는 방법은 아래와 같습니다.
actionBar.setDisplayUseLogoEnabled(boolean useLogo);
actionBar.setDisplayShowTitleEnabled(boolean showTitle);
 
그밖에도 다양 메소드를 지원합니다. 그것들은 아래의 사이트에서 확인 가능합니다.
http://developer.android.com/reference/android/app/ActionBar.html
 
[리소스에서 수정하는 방법]
우선
res/values/style.xml 에 아래의 코드를 추가합니다. 코드는 노란색으로 칠했습니다.
 
<!--
manifest에서 Theme로 사용 할 스타일을 만듭니다.
ActionBar 스타일 적용하기위해 android:actionBarStyle 아이템을 추가합니다.
-->
<style name="Test.ActionBar.Theme">
       <item name="android:actionBarStyle">@style/Holo.Light.ActionBar.Theme.TitleTextStyle</item>      
</style>
 
<!--
ActionBar 스타일에 사용 할 style을 추가합니다.
ActionBar의 타이틀에 스타일을 적용하기위해 android:titleTextStyle 아이템을 추가합니다.
-->    
<style name="Test.ActionBar.Theme.TitleTextStyle">
        <item name="android:titleTextStyle">@style/Holo.Light.ActionBar.Theme.TitleTextStyle.Setting</item>
</style>
 
<!--
ActionBar의 타이틀에 적용 할 스타일 아이템을 추가합니다.
-->    
<style name="Test.ActionBar.Theme.TitleTextStyle.Setting">
        <item name="android:textColor">#FFFFFF</item>
        <item name="android:textSize">22px</item>
</style>
 
위의 스타일을 적용하기 위해
manifest.xml에 아래와 같이 적용합니다.
 
<application android:name="App"
   android:label="@string/app_name"
   android:theme="@style/Test.ActionBar.Theme"
    >
 
위의 내용은 설명을 위해 간단하게 작성한 것입니다.
위와 같은 방법을 응용해서 기존의 스타일과 테마를 적용하는 방법을 이용하면, ActionBar를 마음대로 수정 할 수 있을것으로 보입니다.
 
액션바에 관해 간단하게 정리해 놓은 사이트는 아래와 같습니다.
http://developer.android.com/guide/topics/ui/actionbar.html