본문 바로가기

Matpclub/Theme Study

SystemUI.apk xml 수정 목록


※ 이 자료는 Galaxy SII SK가 기준이며 일부 다른 부분이 존재할 수 있습니다.

★ 01. status_bar.xml
     01-1. 수정 경로 : res\layout\status_bar.xml

     01-2. 용도 : status_bar 수정

     01-3. 수정 방법 :

<?xml version="1.0" encoding="UTF-8"?>
<!-- 퀵패널 배경 수정 -->
<com.android.systemui.statusbar.StatusBarView android:orientation="vertical" android:background="#ff000000" android:focusable="true" android:descendantFocusability="afterDescendants"
  xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 퀵패널 배경 수정 -->
    <LinearLayout android:orientation="horizontal" android:id="@id/icons" android:layout_width="fill_parent" android:layout_height="fill_parent">
        <com.android.systemui.statusbar.IconMerger android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons" android:paddingLeft="6.0dip" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0" android:layout_alignParentLeft="true" />
        <LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/statusIcons" android:paddingRight="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_alignParentRight="true" />
        <com.android.systemui.statusbar.Clock android:textAppearance="@android:style/TextAppearance.StatusBar.Icon" android:textSize="16.0sp" android:gravity="center_vertical" android:id="@id/clock" android:paddingRight="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
    </LinearLayout>
    <LinearLayout android:orientation="horizontal" android:id="@id/ticker" android:paddingLeft="6.0dip" android:animationCache="false" android:layout_width="fill_parent" android:layout_height="fill_parent">
        <ImageSwitcher android:id="@id/tickerIcon" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginRight="8.0dip">
            <com.android.systemui.statusbar.AnimatedImageView android:layout_width="25.0dip" android:layout_height="25.0dip" />
            <com.android.systemui.statusbar.AnimatedImageView android:layout_width="25.0dip" android:layout_height="25.0dip" />
        </ImageSwitcher>
        <com.android.systemui.statusbar.TickerView android:id="@id/tickerText" android:paddingTop="2.0dip" android:paddingRight="10.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="1.0">
<!-- Ticker Text(작업 메시지) 색상 변경 --> 
            <TextView android:textAppearance="@android:style/TextAppearance.StatusBar.Ticker" android:id="@id/ticker_1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:textColor="#fff05b89" />
            <TextView android:textAppearance="@android:style/TextAppearance.StatusBar.Ticker" android:id="@id/ticker_2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:textColor="#fff05b89" />

<!-- Ticker Text(작업 메시지) 색상 변경 -->

        </com.android.systemui.statusbar.TickerView>
    </LinearLayout>
<!-- 퀵패널을 열었을 경우 나오는 날짜 색상 변경 -->

    <com.android.systemui.statusbar.DateView android:textAppearance="@android:style/TextAppearance.StatusBar.Icon" android:gravity="left|center" android:id="@id/date" android:background="#ff000000" android:paddingLeft="6.0px" android:paddingRight="6.0px" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" android:textColor="#fff05b89" />
<!-- 퀵패널을 열었을 경우 나오는 날짜 색상 변경 -->

</com.android.systemui.statusbar.StatusBarView>

    01-3-1. 퀵패널 배경 수정

    대상은 status_bar.xml 안에서 위에 퀵패널 배경 수정에 해당하는 부분을 아래와 같이 수정해 주면 된다.
   
<com.android.systemui.statusbar.StatusBarView android:orientation="vertical" android:background="#ff000000"
<!-- 이 부분을 수정, 단색으로 표현 시 background를 " #투명도 2자리 + 색상 코드 6자리 " 로 수정,
       statusbar_background.9.png 및 기타 이미지로 배경 지정 시 " @drawable/statusbar_background " 
       혹은
" @drawable/적용 파일 이름 " 수정한다. 이미지는 hdpi 폴더 혹은 hdpi-v4 폴더에 존재해야
       오류가
생기지 않는다. -->
 android:focusable="true" android:descendantFocusability="afterDescendants"
xmlns:android="
http://schemas.android.com/apk/res/android">

    01-3-2. TickerText 색상 변경

    미디어 스캔 완료나 여러 상황에서 아이콘과 함께 메세지를 보여주는 부분의 색상을 변경한다.

<TextView android:textAppearance="@android:style/TextAppearance.StatusBar.Ticker" android:id="@id/ticker_1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:textColor="#fff05b89" />
<TextView android:textAppearance="@android:style/TextAppearance.StatusBar.Ticker" android:id="@id/ticker_2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:textColor="#fff05b89" />
<!-- <TextView 와 /> 의 사이에서 마지막에 android:textColor="#ff + 칼라 6자리 코드" 를 추가하면 된다. -->

   
01-3-3. 퀵패널 열었을 경우 나오는 날짜 배경 및 색상 변경

   
퀵패널을 열 경우 status bar 상단에 나오는 날짜의 배경 및 색상을 변경한다.
    여기서 주의 해야 될 점이 있다면 이부분에서
background가 있는 이유는 수정해보거나 투명화를 해본 사람을 알겠지만,
   퀵패널 열면서 날짜를 보여줄 때 백그라운드로 돌고 있는 어플의 아이콘이 status bar에 표시된다. 근데 퀵패널이 열리면서
   시계 배경이 투명화 될 경우 아이콘과 겹쳐서 나오게 된다. 그래서 존재하는 것.. 투명화는 잘 생각 해보시길.
   수정은 상단의 status bar 배경과 같이 수정하면 된다.

<com.android.systemui.statusbar.DateView android:textAppearance="@android:style/TextAppearance.StatusBar.Icon" android:gravity="left|center" android:id="@id/date" android:background="#ff000000"
<!-- 이 부분을 수정, 단색으로 표현 시 background를 " #투명도 2자리 + 색상 코드 6자리 " 로 수정, 
       statusbar_background.9.png 및 기타 이미지로 배경 지정 시 " @drawable/statusbar_background "
       혹은
" @drawable/적용 파일 이름 "
수정한다. 이미지는 hdpi 폴더 혹은 hdpi-v4 폴더에 존재해야
       오류가
생기지 않는다. -->
android:paddingLeft="6.0px" android:paddingRight="6.0px" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" android:textColor="#fff05b89" />
<!-- 날짜 색상의 경우  android:textColor="#ff + 칼라 6자리 코드" 를 끝에 추가하면 된다. -->

★ 02. status_bar_expanded.xml
     02-1. 수정 경로 : res\layout\status_bar_expanded.xml

     02-2. 용도 : 열린 퀵패널 수정

     02-3. 수정 방법 :

<?xml version="1.0" encoding="UTF-8"?>
<com.android.systemui.statusbar.ExpandedView android:orientation="vertical" android:focusable="true" android:descendantFocusability="afterDescendants"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <LinearLayout android:orientation="horizontal" android:id="@id/carrier_label_background" android:background="@drawable/title_bar_portrait" android:layout_width="fill_parent" android:layout_height="wrap_content" android:baselineAligned="false">
<!-- 통신사 명 색상 및 크기 변경 -->

        <com.android.systemui.statusbar.CarrierLabel android:textSize="18.659973dip" android:textColor="@color/status_bar_carrier_label_text" android:layout_gravity="center_vertical" android:id="@id/carrier_label" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_marginLeft="14.669983dip" android:layout_marginTop="8.669983dip" android:layout_marginBottom="10.0dip" android:layout_weight="1.0" />
<!-- 통신사 명 색상 및 크기 변경 -->
<!-- 지우기 버튼 색상 변경 -->
        <TextView android:textSize="14.0dip" android:textColor="@color/status_bar_clear_all_button_text" android:gravity="center" android:layout_gravity="center_vertical" android:id="@id/clear_all_button" android:background="@drawable/btn_default_small" android:layout_width="76.66998dip" android:layout_height="34.0dip" android:layout_marginTop="5.0dip" android:layout_marginRight="4.0dip" android:layout_marginBottom="5.0dip" android:text="@string/status_bar_clear_all_button" />
<!-- 지우기 버튼 색상 변경 -->

    </LinearLayout>
    <FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0">
        <ScrollView android:id="@id/scroll" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="fill_parent" android:overScrollMode="ifContentScrolls">
            <com.android.systemui.statusbar.NotificationLinearLayout android:orientation="vertical" android:id="@id/notificationLinearLayout" android:layout_width="fill_parent" android:layout_height="wrap_content">
<!-- notification 제목 색상 변경 -->
                <TextView android:textSize="14.669983dip" android:textColor="@color/notification_header_text_color" android:gravity="center_vertical" android:id="@id/noNotificationsTitle" android:background="@drawable/quickpanel_title_background" android:paddingLeft="13.329987dip" android:layout_width="fill_parent" android:layout_height="26.669983dip" android:text="@string/status_bar_no_notifications_title" />
                <TextView android:textSize="14.669983dip" android:textColor="@color/notification_header_text_color" android:gravity="center_vertical" android:id="@id/ongoingTitle" android:background="@drawable/quickpanel_title_background" android:paddingLeft="13.329987dip" android:layout_width="fill_parent" android:layout_height="26.669983dip" android:text="@string/status_bar_ongoing_events_title" />
                <LinearLayout android:orientation="vertical" android:id="@id/ongoingItems" android:layout_width="fill_parent" android:layout_height="wrap_content" />
                <TextView android:textSize="14.669983dip" android:textColor="@color/notification_header_text_color" android:gravity="center_vertical" android:id="@id/latestTitle" android:background="@drawable/quickpanel_title_background" android:paddingLeft="13.329987dip" android:layout_width="fill_parent" android:layout_height="26.669983dip" android:text="@string/status_bar_latest_events_title" />
<!-- notification 제목 색상 변경 -->
                <LinearLayout android:orientation="vertical" android:id="@id/latestItems" android:layout_width="fill_parent" android:layout_height="wrap_content" />
            </com.android.systemui.statusbar.NotificationLinearLayout>
        </ScrollView>
        <ImageView android:id="@id/title_bar_shadow" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/title_bar_shadow" android:scaleType="fitXY" />
    </FrameLayout>
</com.android.systemui.statusbar.ExpandedView>

     02-3-1. 통신사 명 색상 및 크기 변경
   
    통신사 TEXT의 색상 및 크기를 수정한다.


<com.android.systemui.statusbar.CarrierLabel android:textSize="18.659973dip"
<!-- 글씨의 싸이즈 경우 원하는 dip 사이즈로 수정한다. 예) 25의 경우 25dip -->
android:textColor="@color/status_bar_carrier_label_text"
<!-- color.xml에서 status_bar_carrier_label_text 에 해당되는 칼라 코드 수정 -->
android:layout_gravity="center_vertical" android:id="@id/carrier_label" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_marginLeft="14.669983dip" android:layout_marginTop="8.669983dip" android:layout_marginBottom="10.0dip" android:layout_weight="1.0" />

   02-3-2. 지우기 버튼 색상 변경

   퀵패널의 지우기 버튼의 색상을 변경한다.


<TextView android:textSize="14.0dip" android:textColor="@color/status_bar_clear_all_button_text"
<!-- color.xml에서 status_bar_clear_all_button_text 에 해당되는 칼라 코드 수정 -->
android:gravity="center" android:layout_gravity="center_vertical" android:id="@id/clear_all_button" android:background="@drawable/btn_default_small" android:layout_width="76.66998dip" android:layout_height="34.0dip" android:layout_marginTop="5.0dip" android:layout_marginRight="4.0dip" android:layout_marginBottom="5.0dip" android:text="@string/status_bar_clear_all_button" />

   02-3-3. notification 제목 색상 변경

   퀵패널의 알림 내용 제목의 색상 변경


<TextView android:textSize="14.669983dip" android:textColor="@color/notification_header_text_color" android:gravity="center_vertical" android:id="@id/noNotificationsTitle" android:background="@drawable/quickpanel_title_background" android:paddingLeft="13.329987dip" android:layout_width="fill_parent" android:layout_height="26.669983dip" android:text="@string/status_bar_no_notifications_title" />
<!-- color.xml에서 notification_header_text_color 에 해당되는 칼라 코드 수정 -->
<TextView android:textSize="14.669983dip" android:textColor="@color/notification_header_text_color" android:gravity="center_vertical" android:id="@id/ongoingTitle" android:background="@drawable/quickpanel_title_background" android:paddingLeft="13.329987dip" android:layout_width="fill_parent" android:layout_height="26.669983dip" android:text="@string/status_bar_ongoing_events_title" />
<LinearLayout android:orientation="vertical" android:id="@id/ongoingItems" android:layout_width="fill_parent" android:layout_height="wrap_content" />
<TextView android:textSize="14.669983dip" android:textColor="@color/notification_header_text_color" android:gravity="center_vertical" android:id="@id/latestTitle" android:background="@drawable/quickpanel_title_background" android:paddingLeft="13.329987dip" android:layout_width="fill_parent" android:layout_height="26.669983dip" android:text="@string/status_bar_latest_events_title" />

★ 03. color.xml
    03-1. 수정 경로 : res\values\color.xml

    03-2. 용도 : 공용 색상 코드 변경

    03-3. 수정 방법 :


<?xml version="1.0" encoding="UTF-8"?>
<resources>
    <color name="notification_header_text_color">#ffffffff</color>
<!-- 퀵패널의 알림 내용 제목의 색상 변경#ff + 색상 6자리 코드 로 변경 -->

    <color name="notification_number_text_color">#ffffffff</color>
    <color name="status_bar_carrier_label_text">#ffffffff</color>
<!-- 통신사 명 색상 변경 시  #ff + 색상 6자리 코드 로 변경-->

    <color name="status_bar_clear_all_button_text">#ffffffff</color>
<!-- 지우기 버튼 색상 변경 시 #ff + 색상 6자리 코드 로 변경 -->

    <color name="status_bar_tracking_background">#ff212121</color>
    <color name="quickpanel_text">#ffffffff</color>
</resources>

'Matpclub > Theme Study' 카테고리의 다른 글

서브 메뉴 text Color 변경하기  (0) 2011.11.12
버튼 textColor 수정하기  (0) 2011.11.12
허니컴 진행바 적용하기  (0) 2011.11.12
framework-res.apk xml 수정 목록  (2) 2011.07.03
자주 묻는 질문과 답변 모음  (1) 2011.06.16