Pulse™
13.08.16
조회 수 8522
추천 수 12
댓글 6
갤럭시S2 기준이고, framework-res.apk 파일이 필요합니다.

framework-res.apk를 디컴파일하시고
소스 파일에 있는 잠금 시계 관련 이미지 파일들을
/res/drawable-hdpi와 /res/drawable-sw360dp-hdpi에 붙여넣기 합니다.


이제 /res/layout/keyguard_circlelock_clockwidget.xml 파일을 열어주시고 천천히 수정해보겠습니다. 구문은 위에 것이 순정, 아래 것이 제가 수정한 부분입니다.

Line 2 : <LinearLayout android:orientation="vertical" android:id="@id/clock_root" android:paddingTop="4.0dip" android:paddingBottom="6.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content"

Line 2 : <LinearLayout android:orientation="vertical" android:id="@id/clock_root" android:paddingTop="18.0dip" android:paddingBottom="6.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content"

- 잠금화면 시계 전체 padding값을 준 부분입니다. 우선 저는 상단바를 갤럭시S4처럼 확장시켜놓은 상태이고, 레이아웃에서 적절히 상단 간격이 있도록 paddingTop값을 더 늘려주었습니다.
Line 5 : <TextView android:textSize="12.0dip" android:textColor="#ffebebeb" android:ellipsize="none" android:gravity="center" android:id="@id/clock_emergency_text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:shadowColor="@color/black" android:shadowDx="1.0" android:shadowDy="1.0" android:shadowRadius="0.25" />

Line 5 : <TextView android:textSize="0.0dip" android:textColor="#ffffffff" android:ellipsize="none" android:gravity="center" android:id="@id/clock_emergency_text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:shadowColor="@color/black" android:shadowDx="1.0" android:shadowDy="1.0" android:shadowRadius="0.25" />

- 상단에 뜨는 통신사 문구 부분인데요, textSize를 0.0dip으로 수정하여 보이지 않게 했습니다. 옆에 파란색은 전체 textColor를 이식하면서 바꾸어놓은 값이고, 보이지 않게 해놓았으니 수정하지 않으셔도 무방합니다 :)
Line 8 : <LinearLayout android:gravity="center" android:orientation="vertical" android:id="@id/clock_time_and_date" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="4.0dip">

Line 8 : <LinearLayout android:gravity="left" android:orientation="vertical" android:id="@id/clock_time_and_date" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="5.0dip" android:layout_marginLeft="10.0dip">

- 이제 본격적으로 시계와 오전/오후 표시, 날짜를 표시하는 부분입니다. 중앙에 위치하던 시계를 왼쪽으로 옮기기위해 gravity가 center에서 left로 수정되었구요, marginTop값 수정, marginLeft값 추가가 되었습니다.
Line 9 :<view android:gravity="left" android:id="@id/clock_charge" android:paddingTop="5.0dip" android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="wrap_content" android:minHeight="36.0dip" class="com.android.internal.policy.impl.sec.ClockWidget$Charge">

Line 10 : <TextView android:textSize="36.0dip" android:textStyle="bold" android:textColor="#ffffffff" android:gravity="left" android:id="@id/clock_charge_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="2.0dip" android:layout_marginBottom="10.0dip" android:singleLine="true" android:shadowColor="#aa000000" android:shadowDy="2.0" android:shadowRadius="1.0" />

Line 11 : <ImageView android:layout_gravity="center_vertical" android:id="@id/clock_charge_icon" android:paddingLeft="3.0dip" android:visibility="gone" android:layout_width="0.0dip" android:layout_height="wrap_content" android:src="@drawable/keyguard_lockscreen_ic_charging" />

Line 12 : <ImageView android:id="@id/clock_cmas_icon" android:paddingLeft="3.0dip" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/keyguard_lockscreen_ic_cmas" />

Line 13 : </view> 

- 이 부분은 기존 Line 65~69에 있던 내용을 시계 부분의 LinearLayout에 넣어준 것입니다. 따라서 이 부분을 기존 Line 8과 9 사이에 끼워넣어주시고 Line 65~69 부분은 삭제해주시면 되겠습니다.

- Line 9에서 gravity를 역시 left로 수정해주었구요, 텍스트가 크기에 minHeight를 24.0dip에서 36.0dip로 늘려놓은 상태입니다. 

- 그리고 Line 10, 11, 12 부분이 원래 11, 12, 10 순으로 Line 66~68에 배치되어있었는데 순서를 바꾸어주었구요. 

- Line 10의 TextView 부분을 유의해서 보시면 될듯합니다 거의 모든 값이 조금씩 변경되었기 때문이죠. 그리고 Line 11에서 충전 아이콘이 나오는데 android:visibility 값을 gone으로 주어 안보이게 했습니다, 또 혹시 몰라 layout_width를 0.0dip
까지 주었구요.

- 이렇게 Line 9~13에서 수정을 하시면 이제 환경설정에서 잠금화면 > 사용자 정보에서 문구를 수정하시면 잠금화면에 나오게됩니다.
Line 18 : <TextView android:textSize="23.0dip" android:textColor="#fff8f8f8" android:id="@id/zzz_ampm" android:paddingLeft="3.0dip" android:paddingBottom="5.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:shadowColor="#55000000" android:shadowDx="3.0" android:shadowDy="3.0" android:shadowRadius="1.0" />

Line 23 : <TextView android:textSize="20.0dip" android:textColor="#ffffffff" android:id="@id/zzz_ampm" android:paddingLeft="1.0dip" android:paddingBottom="3.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:shadowColor="#aa000000" android:shadowDy="2.0" android:shadowRadius="1.0" />

- Line 18이 Line 23으로 밀려났습니다. 여기는 시계 옆에 표시되는 오전오후 표시인데요. textSize, textColor 부분이 수정되었구요, paddingLeft, Bottom부분도 조금씩 수정되었습니다. 

- 그리고 파란색 부분을 보시면 글씨 그림자 컬러와 그림자 위치가 있는데요, 제 프레임워크에서는 글씨의 통일성을 위해 모두 shadowColor는 #aa000000, shadowDx값은 삭제, shadowDy값을 2.0으로 주었습니다. 이부분은 그냥 참고하시길 바랍니다/
Line 21 : <TextView android:textSize="20.0dip" android:textStyle="bold" android:textColor="#fff6f7c9" android:gravity="bottom|center" android:id="@id/zzz_date_month" android:layout_width="fill_parent" android:layout_height="24.0dip" android:layout_marginTop="2.0dip" android:shadowColor="#aa000000" android:shadowDy="2.0" android:shadowRadius="1.0" />

Line 26 : <TextView android:textSize="14.0dip" android:textStyle="bold" android:textColor="#ffffffff" android:gravity="left" android:id="@id/zzz_date_month" android:layout_width="fill_parent" android:layout_height="24.0dip" android:layout_marginLeft="1.0dip" android:layout_marginTop="1.0dip" android:shadowColor="#aa000000" android:shadowDy="2.0" android:shadowRadius="1.0" />

- 날짜가 표시되는 부분입니다. 위에 오전오후와 마찬가지로 textSize, textColor가 수정되었구요, gravity가 left로 수정되었습니다. 또한 밑에 marginLeft값이 1.0dip로 추가되었구요 marginTop값도 간격을 조금 좁히기 위해 줄였습니다.
이렇게 xml 수정을 하신 후에 저장을 해주시고 방금 수정하신 keyguard_circlelock_clockwidget.xml 파일을 복사해주세요.
그리고 /res에 보시면 layout 폴더 여러개가 있죠? 그곳 각각마다 keyguard_circlelock_clockwidget.xml 이 존재하는 폴더를 찾아서 붙여넣기해주시면 됩니다.

제 기기를 기준으로 layout / layout-hdpi / layout-ko / layout-ko-sw320dp-hdpi / layout-ko-sw360dp/ layout-sw320dp-hdpi / layout-sw360dp / layout-sw600dp / layout-sw720dp 이렇게 9개 폴더에 붙여넣기하였습니다.
이후 컴파일 하시고 unsignedframework-res.apk 파일에서 drawable-hdpi, drawable-sw360dp-hdpi 폴더와 위에 xml 붙여넣기한 9개 폴더 (바로 윗줄에 써있으니 보시면됩니다) 를 꺼내서 반디집등으로 원본 framework-res.apk 파일에 교체해주시면됩니다.

제 xml을 같이 첨부하였으니 비교하시면서 수정해주세요.
그럼 이만 줄이겠습니다. 감사합니다.
Extra Form
첨부
Sources.zip  [File Size:18.8KB/Download:68]
댓글을 남겨야 다운로드가 가능합니다. 감사의 댓글을 달고 오른쪽 확인버튼을 눌러주세요.
다운로드시 일주일에 한개 이상의 게시물 작성이 필요합니다. 지금 자유게시판에 회원님의 하루를 남겨보세요.
추천♡버튼을 잊지 마세요. 추천인과 회원님 모두 포인트가 적립됩니다.
댓글 6
댓글 쓰기 권한이 없습니다.
강좌 최신순 목록 검색 쓰기
등록된 글이 없습니다.
1 -