본문 바로가기

☆ 테마제작관련 ☆/테마제작강좌

상단바 베터리 잔량 숫자 겹치기 강좌



테마 제작을 하다보면 이전에는 가장 많이 요청을 받은것중 하나가 1% 베터리였습니다.  베터리 표시에 대해서는 좋아하시는 분도 계시고 안좋아하는 분도 계셔서 1%베터리로 테마배포를 하면 빼달라는 요청도 들어오고.. 테마제작을 하면서 넣어야할지 말아야할지 고민하게 되었던 부분인데요 이전 강좌에서 보시다시피 "환경설정-디스플레이"에서 베터리 잔량표시를 해주면 퍼센트가 표시됩니다. 하지만 이게 별로 이쁘지 않습니다. 그래서 기존의 베터리 이미지에 숫자를 겹치는 방법을 알게됐습니다. 맛클에 엔꼬님 강좌를 토대로 갤럭시노트에 맞춰 수치를 조정했습니다. 이작업을 하시면서 이전강좌 %제거를 함께 해주셔야지 어색하지 않습니다.

강좌 원문 출처[엔꼬님] : http://matcl.com/?m=bbs&bid=UX&uid=131675



상단바 베터리 잔량 숫자 겹치기


수정파일 : SystemUI.apk\res\layout\tw_status_bar.xml[수정후 퍼미션 644로 덮어주세요]


 원본 ☆ 파일내에 "@id/battery_text" 부분을 찾아주세요.

 <?xml version="1.0" encoding="utf-8"?>

<com.android.systemui.statusbar.phone.PhoneStatusBarView android:orientation="vertical" android:id="@id/status_bar" android:background="@drawable/status_bar_background" android:focusable="true" android:fitsSystemWindows="true" android:descendantFocusability="afterDescendants"

  xmlns:android="http://schemas.android.com/apk/res/android"

  xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">

    <ImageView android:id="@id/notification_lights_out" android:paddingLeft="6.0dip" android:paddingBottom="2.0dip" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_lights_out_dot_small" android:scaleType="center" />

    <LinearLayout android:orientation="horizontal" android:id="@id/icons" android:paddingLeft="0.0dip" android:paddingRight="2.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent">

        <LinearLayout android:orientation="horizontal" android:id="@id/left_icons" android:paddingLeft="4.0dip" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0">

            <TextView android:textSize="15.0dip" android:gravity="center_vertical" android:id="@id/carrierLabel" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />

            <ImageView android:id="@id/operatorLogoIcon" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="fill_parent" android:src="@drawable/tw_stat_notify_operator_logo" />

            <ImageView android:id="@id/doNotDisturbIcon" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/tw_dnd" android:alpha="0.7" android:scaleX="0.85" android:scaleY="0.85" />

            <com.android.systemui.statusbar.StatusBarIconView android:id="@id/moreIcon" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/stat_notify_more" />

            <com.android.systemui.statusbar.phone.IconMerger android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentLeft="true" />

        </LinearLayout>

        <LinearLayout android:orientation="horizontal" android:id="@id/right_icons" android:paddingRight="4.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_alignParentRight="true">

            <LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" />

            <LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/signal_battery_cluster" android:paddingLeft="2.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent">

                <include android:id="@id/signal_cluster" android:layout_width="wrap_content" android:layout_height="wrap_content" layout="@layout/tw_signal_cluster_view" />

                <TextView android:textSize="12.0dip" android:textColor="#ffa6a6a6" android:layout_gravity="center" android:id="@id/battery_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/status_bar_network_name_separator" />

                <ImageView android:gravity="center" android:id="@id/battery" android:layout_width="wrap_content" android:layout_height="wrap_content" />

            </LinearLayout>

            <com.android.systemui.statusbar.policy.Clock android:textSize="@dimen/status_bar_clock_text_size" android:textColor="#ff959595" android:ellipsize="none" android:gravity="left|center" android:id="@id/clock" android:paddingLeft="3.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" android:includeFontPadding="false" />

        </LinearLayout>

    </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="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:layout_marginRight="4.0dip">

            <com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="centerInside" />

            <com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="centerInside" />

        </ImageSwitcher>

        <com.android.systemui.statusbar.phone.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">

            <TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:id="@id/ticker_text_view_old" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />

            <TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:id="@id/ticker_text_view_new" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />

        </com.android.systemui.statusbar.phone.TickerView>

    </LinearLayout>

</com.android.systemui.statusbar.phone.PhoneStatusBarView>









 수정본 ☆ 아래와 같이 수정해주세요. [TextView와 ImageView위치가 바뀝니다.]

ImageView부분을 숫자 표시 뒷부분으로 넘겨주게되고. android:layout_marginLeft="-11.5dip" 명령어를 통해 베터리 위치표시를 좌측여백을 마이너스(-)를 주어 베터리 이미지와 겹치게 해주시는 방법입니다.

(android:textColor="#ccffffff" : 베터리 잔량 숫자 색상, android:textSize="8.0dip" : 베터리 숫자 크기)



 <LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/signal_battery_cluster" android:paddingLeft="2.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent">

                <include android:id="@id/signal_cluster" android:layout_width="wrap_content" android:layout_height="wrap_content" layout="@layout/tw_signal_cluster_view" />

                <ImageView android:gravity="center" android:id="@id/battery" android:layout_width="wrap_content" android:layout_height="wrap_content" />

                <TextView android:textSize="8.0dip" android:textColor="#ccffffff" android:layout_gravity="center" android:id="@id/battery_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="-11.5dip" android:text="@string/status_bar_network_name_separator"  />

            </LinearLayout>


* 수정하시면서 베터리 퍼센트 표시도 제거해주세요.

2013/03/10 - [☆젤리빈 테마 강좌☆/SystemUI] - 베터리 잔량 숫자 퍼센트(%) 제거하기





 수정본 이미지☆







젤리빈 이후 상단바를 가장 깔끔하게 정리할 수 있는 팁이였습니다.

어렵지 않는 작업이니 숫자를 바꿔가면서 이미지 위치변화 확인해보시면 타기종도 문제 없이 적용가능합니다.