2014년 8월 12일 화요일

[Android] 액션바 커스터마이징

1. 액션바 커스터마이징 리스트
액션바에서 커스터마이징이 가능항 항목들입니다.
  • Actionbar
    • background – 배경
  • Navigation – 네비게이션
    • List – 드롭다운 리스트 형태의 액션바
      • background – 배경
      • popupBackground – 리스트 배경
      • dropDownSelector – 리스트 아이템 선택시 하이라이트 색상
  • Tabs – 탭
    • background – 배경
    • paddingLeft – 왼쪽 패딩
    • paddingRight – 오른쪽 패딩
  • Actions – 액션 버튼 및 옵션 메뉴
    • Action
      • selectableItemBackground – 선택된 액션 아이템 선택시 하이라이트 색상
    • Overflow menu
      • popupBackground – 옵션 메뉴 표시시 배경
      • listChoiceIndicatorMultiple – 체크 옵션 선택시 하이라이트 색상
      • listChoiceIndicatorSingle – 라디오박스 옵션 선택시 하이라이트 색상
  • 위 항목을 모두 합친 경우
    • selectableItemBackground
    • popupMenuStyle
    • dropDownListViewStyle
    • actionBarTabStyle
    • listChoiceIndicatorMultiple
    • listchoiceIndicatorSingle
2. 액션바 하단 쉐도우 없애고 선 긋기
1. res/drawable에 액션바 배경 리소스 추가
아래 코드는 전체 배경을 먼저 칠하고 하단 2dp를 제외한 영역을 다시 칠하는 코드입니다. 즉 하단 2dp만큼 라인을 그어주는 기능을 합니다.
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- Bottom Line -->
    <item>
        <shape android:shape="rectangle">            
            <solid android:color="@color/square_dark" />
        </shape>
    </item>
 
    <!-- Color of your action bar -->
    <item android:bottom="2dp">
        <shape android:shape="rectangle">
            <solid android:color="#2E2E2E" />
        </shape>
    </item>
</layer-list>
2. values/styles.xml에서 쉐도우 비활성화
액션바 하단에 있는 쉐도우를 없애는 항목을 추가합니다.
1
2
3
4
5
6
7
<style name="DarkTheme" parent="android:Theme.Holo.Light.DarkActionBar">
         
        <item name="android:actionBarStyle">@style/DarkTheme.ActionBarStyle</item>        
        <item name="android:editTextStyle">@style/DarkTheme.EdittextStyle</item>
        <!-- 아래 항목의 값을 null로 지정하면 쉐도우가 표시되지 않는다 -->
        <item name="android:windowContentOverlay">@null</item>        
    </style>
3. values/styles.xml에서 액션바 배경 변경
1번에서 추가한 리소스로 수정
다음 스크린샷과 같이 쉐도우가 사라집니다.
Screenshot_2013-04-09-08-33-02.png

댓글 없음:

댓글 쓰기