본문 바로가기

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

시그널과 수신상태 합치기 [해외향 시그널 구현]



레퍼런스 폰이나 해외용 상단바를 보면 3G아이콘과 시그널 세기가 겹쳐있는 부분이 있습니다. 국내 삼성폰에서는 이걸 분리해서 시안성을 좋게 해놨는데 상단바를 넓게 쓰면서 조금 세련된 느낌으로 수정 할 수 있습니다. 아래 스샷을 보시면 LTE부분과 시그널 세기 부분이 합쳐져 있는 걸 확인하실 수 있습니다. (간단한 xml수정이니 참조하세요)









SystemUI.apk 수정


아래 경로의 xml화일을 수정본과 같이 수정하시면 시그널과 세기를 합치실 수 있습니다. 관련아이콘은 제 젤리빈 테마 아이콘을 붙여넣이시면 되지만 자신의 폰의 아이콘을 확인하셔서 수정하시는걸 추천 합니다.




1. xml 수정

SystemUI.apk\res\layout\tw_signal_cluster_view.xml


1. xml [원본]


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

<com.android.systemui.statusbar.SignalClusterView android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"

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

    <FrameLayout android:gravity="center" android:id="@id/wifi_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">

        <ImageView android:id="@id/wifi_signal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="center" android:layout_alignParentRight="true" android:layout_centerVertical="true" />

        <ImageView android:layout_gravity="center" android:id="@id/wifi_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />

    </FrameLayout>

    <View android:id="@id/spacer" android:visibility="gone" android:layout_width="6.0dip" android:layout_height="6.0dip" />

    <LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/new_mobile_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">

        <FrameLayout android:id="@id/separate_mobile" android:layout_width="wrap_content" android:layout_height="wrap_content">

            <ImageView android:id="@id/separate_mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />

            <ImageView android:id="@id/separate_mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />

        </FrameLayout>

        <FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content">

            <FrameLayout android:gravity="center" android:id="@id/mobile_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">

                <ImageView android:id="@id/mobile_signal" android:layout_width="wrap_content" android:layout_height="wrap_content" />

                <ImageView android:id="@id/mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />

                <ImageView android:layout_gravity="bottom|right|center" android:id="@id/mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />

                <ImageView android:id="@id/mobile_roaming" android:layout_width="wrap_content" android:layout_height="wrap_content" />

            </FrameLayout>

        </FrameLayout>

    </LinearLayout>

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


2. xml [수정본]

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

<com.android.systemui.statusbar.SignalClusterView android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"

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

    <FrameLayout android:id="@id/wifi_combo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="-5.299988dip">

        <ImageView android:id="@id/wifi_signal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="center" android:layout_alignParentRight="true" android:layout_centerVertical="true" />

        <ImageView android:layout_gravity="bottom|center" android:id="@id/wifi_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="-6.0dip" />

    </FrameLayout>

    <View android:id="@id/spacer" android:visibility="gone" android:layout_width="6.0dip" android:layout_height="6.0dip" />

    <LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/new_mobile_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">

        <FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content">

            <View android:visibility="invisible" android:layout_width="6.0dip" android:layout_height="6.0dip" />

            <FrameLayout android:id="@id/mobile_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">

                <ImageView android:id="@id/mobile_signal" android:layout_width="wrap_content" android:layout_height="wrap_content" />

                <ImageView android:id="@id/mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />

                <ImageView android:layout_gravity="bottom|right|center" android:id="@id/mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />

                <ImageView android:id="@id/mobile_roaming" android:layout_width="wrap_content" android:layout_height="wrap_content" />

                <FrameLayout android:id="@id/separate_mobile" android:layout_width="wrap_content" android:layout_height="wrap_content">

                    <ImageView android:id="@id/separate_mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />

                    <ImageView android:id="@id/separate_mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />

                </FrameLayout>

            </FrameLayout>

        </FrameLayout>

    </LinearLayout>

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