본문 바로가기

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

[안드로이드 Style] ProgressBar(프로그래스바) 변경



안드로이드 Theme & Style Holo화 강좌 #1 progressbar(프로그래스바)를 Holo화 작업을 진행 해 볼께요. 

램사용량 / 저장공간을 표시해주는 progressbar 입니다. 기존의 녹색의 투박한 UI를 holo색상을 아래 사진처럼 얇게 수정해 보겠습니다.








ProgressBar(프로그래스바) Holo화 방법


앞으로 홀로화 작업은 삼성터치위즈 부분을 홀로UI로 수정하는 작업입니다.  아래 보이는 "Theme.DeviceDefault" 부분 이 삼성 터치위즈의 UI를 담당하고 있는 테마 부분입니다. 이 부분을 Theme.holo.소스로 교체해서 기본UI를 홀로UI로 바꿔가는 과정을 보여드리겠습니다. ( 재미있는 부분은 default의 부모스타일은  theme.holo네요. 이 말은 삼성터치위즈에서 지정하지 않으면 홀로UI의 영향을 받게된다는 말인데. 이 부분은 펌웨어 업데이트하게 되면 소프트웨어 업데이트 나올 때 홀로UI로 나오는 부분이 이런부분 때문인거 같습니다.)




그럼 누군가의 요청에 의해 가장먼저 프로그레스바를 변경해볼께요. 모든 프로그래스바가 변경되는건 아닙니다. 기본적인 개념을 설명하는 곳이기 때문에 가장 대표적이고 중요한 부분만 수정해서 보여드릴께요 (제가 테마작업한 jellybean 테마 style 화일과 비교해보시면서 원본과 대조해보는것도 하나의 방법일 수 있습니다.) 

아래 스샷처럼 프로그래스바를 얇고 ICS색상으로 수정해 볼께요












ProgressBar(프로그래스바) Holo 소스 수정


수정 경로 : framework-res.apk\res\values\styles.xml



  Ctr+F를 눌러 "Widget.DeviceDefault.ProgressBar" 검색 (가장 처음에 나오는 부분) 





검색하게 되면 아래 처럼 progressbar 관련 소스들이 나옵니다.

<item name="progressBarStyle">@style/Widget.DeviceDefault.ProgressBar</item>

<item name="progressBarStyleHorizontal">@style/Widget.DeviceDefault.ProgressBar.Horizontal</item>

<item name="progressBarStyleSmall">@style/Widget.DeviceDefault.ProgressBar.Small</item>

<item name="progressBarStyleLarge">@style/Widget.DeviceDefault.ProgressBar.Large</item>





아래와 같이 수정해 주세요.

<item name="progressBarStyle">@style/Widget.Holo.ProgressBar</item>

<item name="progressBarStyleHorizontal">@style/Widget.Holo.ProgressBar.Horizontal</item>

<item name="progressBarStyleSmall">@style/Widget.Holo.ProgressBar.Small</item>

<item name="progressBarStyleLarge">@style/Widget.Holo.ProgressBar.Large</item>




DeviceDefault ==> Holo


  바뀐 건 위에 단어 하나 뿐입니다.  





이제 저장하신 후 컴파일해주세요 




그리고 Value부분이니까

resources.arsc 만 컴파일해서 생긴 unsignedframework-res.apk에서 추출하여

 framework-res.apk 에 덮어 씌워주세요






(이부분이 이해가 안가시면 아래 강좌 참조)

2012/10/26 - [☆ 테마제작강좌 ☆/[초급]테마제작강좌] - [APK Manager] Compile & Decompile 강좌 #1







ProgressBar(프로그래스바) Holo 화 결과물


이제 수정된 framework-res.apk적용해서 결과 물을 확인해 보세요. 아래처럼 순정이 우측스샷과 같이  Progressbar가 HoloUI로 변경된걸 확인하 실 수 있습니다.


  

    



소스수정만 하면 우측 화면에 보시는것처럼 막대 끝부분이 조금 삐뚤어져 보입니다. 아래 3개의 파일을

framework-res.apk\res\drawable-xhdpi\ 안에 3개 이미지 파일을 덮어서 교체해 주세요

(조금해서 잘안보이죠?? ㅜㅜ)





                













HoloUI 작업 어렵지 않죠? 

하나하나 몇 개만 따라해보시면 HoloUI작업이 어렵지 않음을 알 수 있습니다.