Do topic bên Nhà của V8403 đã quá tải cũng như là có nhiều bạn muốn mod lại giao diện android của mình theo sở thích (9 người 10 ý mà ^^) nên mình lập topic này để chia sẽ kinh nghiệm mod giao diện của mình trong quá trình tìm hiểu
Trong bài viết này mình sẽ lấy ví dụ với v8403, các mấy khác thực hiện tương tự nhé
- Các công cụ cần thiết :
+ 7zip: http://www.7-zip.org/download.html
+ GUI APK Tool : http://forum.xda-developers.com/showthread.php?p=33815550#post33815550
+ Trên android : Root browser (mình khuyến cáo để thao tác thuận lợi, các bạn có thể dùng chương trình tương đương cũng được)
+ Trích file bạn muốn mod vào máy tính : thông thường thì có 2 file chính khi mod giao diện là /system/framework/framework-res.apk và /system/app/SystemUI.apk (thanh trạng thái)
- Xong
Bước 1: Mod đơn giản bằng cách kéo thả
Trong bài viết này mình sẽ lấy ví dụ với v8403, các mấy khác thực hiện tương tự nhé
- Các công cụ cần thiết :
+ 7zip: http://www.7-zip.org/download.html
+ GUI APK Tool : http://forum.xda-developers.com/showthread.php?p=33815550#post33815550
+ Trên android : Root browser (mình khuyến cáo để thao tác thuận lợi, các bạn có thể dùng chương trình tương đương cũng được)
+ Trích file bạn muốn mod vào máy tính : thông thường thì có 2 file chính khi mod giao diện là /system/framework/framework-res.apk và /system/app/SystemUI.apk (thanh trạng thái)
- Xong
Bước 1: Mod đơn giản bằng cách kéo thả
Cách này là cách nhanh nhất khi bạn thấy popup của rom cook này đẹp, icon của rom này đẹp và bạn muốn đem và rom của mình
Đầu tiên dùng 7zip giải nén cả 2 framework vào 2 thư mục khác nhau :
- Đối với màn hình 320x480 của V8403 thì bạn chỉ cần quan tâm đến thư mục /res/drawable-mdpi
- Copy các file hình bạn thích từ các frame khác vào frame của bạn (chỉ copy các file cùng tên, các file khác có copy cũng không có tác dụng vì nó không liên kết trong xml, chỉ làm tăng dung lượng)
- Cuối cùng dùng 7zip kéo thả thư mục drawable-mdpi đúng chỗ trong file framework-res.apk (không giải nén nhé). Chép file framework-res.apk đã sửa vào máy và set permission , khởi động lại là xong
- Có bài hướng dẫn chi tiết của bác 29y nè
-Dùng Root Explorer ở đây: http://www.mediafire.com/download.php?9ol79gqvvo444fv
Truy xuất vào system/framework và copy framework-res.apk (ORIN) vào sdcard. Chép vào máy tính sau đó rename thành framework-res.zip gọi nó là FrameA
- giải nén ra , các bạn sẽ thấy nhiều thứ nhưng chỉ cần để ý folder res/anim và res/drawable-hdpi(-v4), có framework có -v4 có cái không, k sao hết!
- Bạn down những framework khác về làm "nguyên liệu" mix với FrameA, tạm gọi Framework làm nguyên liệu là FrameB download tại đây
Ngoài ra nếu như các bạn thấy bản rom của 1 máy nào đó đẹp thì cũng có thể lấy về
- Bước này từ nay là phức tạp nhất: Bạn mở res/drawable-hdpi(-xx) của FrameA xem tổng số có bao nhiu hình (thường là từ 975 đến 10xx hình + .XML)
- Xong cũng tìm res/drawable-hdpi(-v4) của FrameB (cái file nén mấy chục Mb vừa down về). Lúc này hãy dùng Speed Commander or Total Commmander để so sánh 2 khung của số thế này (hi vọng FrameA làm nền của bạn có số hình ít hơn FrameB)
Sau đó bạn hãy so và xóa hết những hình CÓ BÊN FrameB mà Frame A K CÓ để cho cúi cùng tổng số file bên FrameB = FrameA
FrameB lúc này là Framework mà bạn ưng nhất nhé, mún bít ưng hay k chỉ có cách vọc ROM nhìu (flash ROM thay đổi hoài) thì sẽ bít cái nào đẹp ở pop-up,pop-up background,icon, jog bar.....
Quảng cáo
Lúc này bạn hãy sàng lọc lại giữa FrameB & những Framework khác trong file nén mấy chục Mb bạn đã down về làm nguyên liệu. Vd: Mún cột sóng đt, wifi khi 4 vạch là màu xanh, khi 3 vạch là màu cam, khi 2 vạch là icon khác chẳng hạn & đồng hồ báo thức, jog bar khi nhấc máy...... bạn chỉ cần copy và overwrite đúng icon của FrameB từ Frame nguyên liệu. NHỚ ĐỪNG BAO JỜ ĐỔI TÊN NHÉ.
Tiếp theo hãy copy toàn bộ hình trong FrameB wa FrameA, chỉ hình thôi chứ k có những file .XML trong đó hén, nhớ là tổng số file hình FrameA k đổi nhé, vì chép nhìu hình vào FrameWork sẽ nặng mà những file XML trong FrameA hoàn toàn k tham chiếu đến. Chép đúng và đủ là OK nhất!
Sau đó hãy trở lại với Framework-res.apk (ORIN) ban đầu (cái frame lấy từ đt của bạn) bạn ĐỪNG extract nó mà hãy mở bằng WindRAR truy xuất vào folder res/ hãy bấm DELETE xóa drawable-hdpi(-v4) đi. Xong KÉO folder drawable-hdpi(-v4) từ Frame A ban nãy vào đúng vị trí đã xóa.
Ở bước này nếu ai muốn MOD hiệu ứng chuyển đổi (Transition Effect cũng làm tương tự hén). Lúc này Framework-res.apk ban đầu của máy lúc này BỊ MOD sẽ gọi là FrameC
Tiếp theo bạn down cái Framework sample.zip này về
http://www.mediafire.com/download.php?8o57uyzs8319gl4
Mở lên bằng WinRAR và bấm delete xóa cái framework-res.apk đi vào kéo framework-res.apk (FrameC) vào.
Sau đó bro boot máy vào ClockWorkMod "install zip from sdcard" để replace framework. Vậy là xong....
- Sửa 2 file sau :
Ghi đè nội dụng 2 file sau nhé
res/drawable/stat_sys_baterry.xml
HTML:
<?xml version="1.0" encoding="utf-8"?> <level-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/stat_sys_battery_0" android:maxLevel="0" /> <item android:drawable="@drawable/stat_sys_battery_1" android:maxLevel="1" /> <item android:drawable="@drawable/stat_sys_battery_2" android:maxLevel="2" /> <item android:drawable="@drawable/stat_sys_battery_3" android:maxLevel="3" /> <item android:drawable="@drawable/stat_sys_battery_4" android:maxLevel="4" /> <item android:drawable="@drawable/stat_sys_battery_5" android:maxLevel="5" /> <item android:drawable="@drawable/stat_sys_battery_6" android:maxLevel="6" /> <item android:drawable="@drawable/stat_sys_battery_7" android:maxLevel="7" /> <item android:drawable="@drawable/stat_sys_battery_8" android:maxLevel="8" /> <item android:drawable="@drawable/stat_sys_battery_9" android:maxLevel="9" /> <item android:drawable="@drawable/stat_sys_battery_10" android:maxLevel="10" /> <item android:drawable="@drawable/stat_sys_battery_11" android:maxLevel="11" /> <item android:drawable="@drawable/stat_sys_battery_12" android:maxLevel="12" /> <item android:drawable="@drawable/stat_sys_battery_13" android:maxLevel="13" /> <item android:drawable="@drawable/stat_sys_battery_14" android:maxLevel="14" /> <item android:drawable="@drawable/stat_sys_battery_15" android:maxLevel="15" /> <item android:drawable="@drawable/stat_sys_battery_16" android:maxLevel="16" /> <item android:drawable="@drawable/stat_sys_battery_17" android:maxLevel="17" /> <item android:drawable="@drawable/stat_sys_battery_18" android:maxLevel="18" /> <item android:drawable="@drawable/stat_sys_battery_19" android:maxLevel="19" /> <item android:drawable="@drawable/stat_sys_battery_20" android:maxLevel="20" /> <item android:drawable="@drawable/stat_sys_battery_21" android:maxLevel="21" /> <item android:drawable="@drawable/stat_sys_battery_22" android:maxLevel="22" /> <item android:drawable="@drawable/stat_sys_battery_23" android:maxLevel="23" /> <item android:drawable="@drawable/stat_sys_battery_24" android:maxLevel="24" /> <item android:drawable="@drawable/stat_sys_battery_25" android:maxLevel="25" /> <item android:drawable="@drawable/stat_sys_battery_26" android:maxLevel="26" /> <item android:drawable="@drawable/stat_sys_battery_27" android:maxLevel="27" /> <item android:drawable="@drawable/stat_sys_battery_28" android:maxLevel="28" /> <item android:drawable="@drawable/stat_sys_battery_29" android:maxLevel="29" /> <item android:drawable="@drawable/stat_sys_battery_30" android:maxLevel="30" /> <item android:drawable="@drawable/stat_sys_battery_31" android:maxLevel="31" /> <item android:drawable="@drawable/stat_sys_battery_32" android:maxLevel="32" /> <item android:drawable="@drawable/stat_sys_battery_33" android:maxLevel="33" /> <item android:drawable="@drawable/stat_sys_battery_34" android:maxLevel="34" /> <item android:drawable="@drawable/stat_sys_battery_35" android:maxLevel="35" /> <item android:drawable="@drawable/stat_sys_battery_36" android:maxLevel="36" /> <item android:drawable="@drawable/stat_sys_battery_37" android:maxLevel="37" /> <item android:drawable="@drawable/stat_sys_battery_38" android:maxLevel="38" /> <item android:drawable="@drawable/stat_sys_battery_39" android:maxLevel="39" /> <item android:drawable="@drawable/stat_sys_battery_40" android:maxLevel="40" /> <item android:drawable="@drawable/stat_sys_battery_41" android:maxLevel="41" /> <item android:drawable="@drawable/stat_sys_battery_42" android:maxLevel="42" /> <item android:drawable="@drawable/stat_sys_battery_43" android:maxLevel="43" /> <item android:drawable="@drawable/stat_sys_battery_44" android:maxLevel="44" /> <item android:drawable="@drawable/stat_sys_battery_45" android:maxLevel="45" /> <item android:drawable="@drawable/stat_sys_battery_46" android:maxLevel="46" /> <item android:drawable="@drawable/stat_sys_battery_47" android:maxLevel="47" /> <item android:drawable="@drawable/stat_sys_battery_48" android:maxLevel="48" /> <item android:drawable="@drawable/stat_sys_battery_49" android:maxLevel="49" /> <item android:drawable="@drawable/stat_sys_battery_50" android:maxLevel="50" /> <item android:drawable="@drawable/stat_sys_battery_51" android:maxLevel="51" /> <item android:drawable="@drawable/stat_sys_battery_52" android:maxLevel="52" /> <item android:drawable="@drawable/stat_sys_battery_53" android:maxLevel="53" /> <item android:drawable="@drawable/stat_sys_battery_54" android:maxLevel="54" /> <item android:drawable="@drawable/stat_sys_battery_55" android:maxLevel="55" /> <item android:drawable="@drawable/stat_sys_battery_56" android:maxLevel="56" /> <item android:drawable="@drawable/stat_sys_battery_57" android:maxLevel="57" /> <item android:drawable="@drawable/stat_sys_battery_58" android:maxLevel="58" /> <item android:drawable="@drawable/stat_sys_battery_59" android:maxLevel="59" /> <item android:drawable="@drawable/stat_sys_battery_60" android:maxLevel="60" /> <item android:drawable="@drawable/stat_sys_battery_61" android:maxLevel="61" /> <item android:drawable="@drawable/stat_sys_battery_62" android:maxLevel="62" /> <item android:drawable="@drawable/stat_sys_battery_63" android:maxLevel="63" /> <item android:drawable="@drawable/stat_sys_battery_64" android:maxLevel="64" /> <item android:drawable="@drawable/stat_sys_battery_65" android:maxLevel="65" /> <item android:drawable="@drawable/stat_sys_battery_66" android:maxLevel="66" /> <item android:drawable="@drawable/stat_sys_battery_67" android:maxLevel="67" /> <item android:drawable="@drawable/stat_sys_battery_68" android:maxLevel="68" /> <item android:drawable="@drawable/stat_sys_battery_69" android:maxLevel="69" /> <item android:drawable="@drawable/stat_sys_battery_70" android:maxLevel="70" /> <item android:drawable="@drawable/stat_sys_battery_71" android:maxLevel="71" /> <item android:drawable="@drawable/stat_sys_battery_72" android:maxLevel="72" /> <item android:drawable="@drawable/stat_sys_battery_73" android:maxLevel="73" /> <item android:drawable="@drawable/stat_sys_battery_74" android:maxLevel="74" /> <item android:drawable="@drawable/stat_sys_battery_75" android:maxLevel="75" /> <item android:drawable="@drawable/stat_sys_battery_76" android:maxLevel="76" /> <item android:drawable="@drawable/stat_sys_battery_77" android:maxLevel="77" /> <item android:drawable="@drawable/stat_sys_battery_78" android:maxLevel="78" /> <item android:drawable="@drawable/stat_sys_battery_79" android:maxLevel="79" /> <item android:drawable="@drawable/stat_sys_battery_80" android:maxLevel="80" /> <item android:drawable="@drawable/stat_sys_battery_81" android:maxLevel="81" /> <item android:drawable="@drawable/stat_sys_battery_82" android:maxLevel="82" /> <item android:drawable="@drawable/stat_sys_battery_83" android:maxLevel="83" /> <item android:drawable="@drawable/stat_sys_battery_84" android:maxLevel="84" /> <item android:drawable="@drawable/stat_sys_battery_85" android:maxLevel="85" /> <item android:drawable="@drawable/stat_sys_battery_86" android:maxLevel="86" /> <item android:drawable="@drawable/stat_sys_battery_87" android:maxLevel="87" /> <item android:drawable="@drawable/stat_sys_battery_88" android:maxLevel="88" /> <item android:drawable="@drawable/stat_sys_battery_89" android:maxLevel="89" /> <item android:drawable="@drawable/stat_sys_battery_90" android:maxLevel="90" /> <item android:drawable="@drawable/stat_sys_battery_91" android:maxLevel="91" /> <item android:drawable="@drawable/stat_sys_battery_92" android:maxLevel="92" /> <item android:drawable="@drawable/stat_sys_battery_93" android:maxLevel="93" /> <item android:drawable="@drawable/stat_sys_battery_94" android:maxLevel="94" /> <item android:drawable="@drawable/stat_sys_battery_95" android:maxLevel="95" /> <item android:drawable="@drawable/stat_sys_battery_96" android:maxLevel="96" /> <item android:drawable="@drawable/stat_sys_battery_97" android:maxLevel="97" /> <item android:drawable="@drawable/stat_sys_battery_98" android:maxLevel="98" /> <item android:drawable="@drawable/stat_sys_battery_99" android:maxLevel="99" /> <item android:drawable="@drawable/stat_sys_battery_100" android:maxLevel="100" /> </level-list>
Code:
<?xml version="1.0" encoding="utf-8"?> <level-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:maxLevel="0"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim0" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_0" /> </animation-list> </item> <item android:maxLevel="1"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim1" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_1" /> </animation-list> </item> <item android:maxLevel="2"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim2" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_2" /> </animation-list> </item> <item android:maxLevel="3"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim3" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_3" /> </animation-list> </item> <item android:maxLevel="4"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim4" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_4" /> </animation-list> </item> <item android:maxLevel="5"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim5" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_5" /> </animation-list> </item> <item android:maxLevel="6"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim6" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_6" /> </animation-list> </item> <item android:maxLevel="7"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim7" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_7" /> </animation-list> </item> <item android:maxLevel="8"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim8" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_8" /> </animation-list> </item> <item android:maxLevel="9"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim9" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_9" /> </animation-list> </item> <item android:maxLevel="10"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim10" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_10" /> </animation-list> </item> <item android:maxLevel="11"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim11" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_11" /> </animation-list> </item> <item android:maxLevel="12"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim12" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_12" /> </animation-list> </item> <item android:maxLevel="13"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim13" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_13" /> </animation-list> </item> <item android:maxLevel="14"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim14" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_14" /> </animation-list> </item> <item android:maxLevel="15"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim15" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_15" /> </animation-list> </item> <item android:maxLevel="16"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim16" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_16" /> </animation-list> </item> <item android:maxLevel="17"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim17" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_17" /> </animation-list> </item> <item android:maxLevel="18"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim18" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_18" /> </animation-list> </item> <item android:maxLevel="19"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim19" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_19" /> </animation-list> </item> <item android:maxLevel="20"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim20" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_20" /> </animation-list> </item> <item android:maxLevel="21"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim21" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_21" /> </animation-list> </item> <item android:maxLevel="22"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim22" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_22" /> </animation-list> </item> <item android:maxLevel="23"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim23" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_23" /> </animation-list> </item> <item android:maxLevel="24"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim24" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_24" /> </animation-list> </item> <item android:maxLevel="25"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim25" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_25" /> </animation-list> </item> <item android:maxLevel="26"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim26" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_26" /> </animation-list> </item> <item android:maxLevel="27"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim27" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_27" /> </animation-list> </item> <item android:maxLevel="28"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim28" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_28" /> </animation-list> </item> <item android:maxLevel="29"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim29" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_29" /> </animation-list> </item> <item android:maxLevel="30"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim30" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_30" /> </animation-list> </item> <item android:maxLevel="31"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim31" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_31" /> </animation-list> </item> <item android:maxLevel="32"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim32" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_32" /> </animation-list> </item> <item android:maxLevel="33"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim33" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_33" /> </animation-list> </item> <item android:maxLevel="34"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim34" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_34" /> </animation-list> </item> <item android:maxLevel="35"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim35" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_35" /> </animation-list> </item> <item android:maxLevel="36"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim36" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_36" /> </animation-list> </item> <item android:maxLevel="37"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim37" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_37" /> </animation-list> </item> <item android:maxLevel="38"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim38" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_38" /> </animation-list> </item> <item android:maxLevel="39"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim39" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_39" /> </animation-list> </item> <item android:maxLevel="40"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim40" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_40" /> </animation-list> </item> <item android:maxLevel="41"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim41" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_41" /> </animation-list> </item> <item android:maxLevel="42"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim42" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_42" /> </animation-list> </item> <item android:maxLevel="43"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim43" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_43" /> </animation-list> </item> <item android:maxLevel="44"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim44" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_44" /> </animation-list> </item> <item android:maxLevel="45"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim45" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_45" /> </animation-list> </item> <item android:maxLevel="46"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim46" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_46" /> </animation-list> </item> <item android:maxLevel="47"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim47" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_47" /> </animation-list> </item> <item android:maxLevel="48"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim48" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_48" /> </animation-list> </item> <item android:maxLevel="49"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim49" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_49" /> </animation-list> </item> <item android:maxLevel="50"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim50" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_50" /> </animation-list> </item> <item android:maxLevel="51"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim51" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_51" /> </animation-list> </item> <item android:maxLevel="52"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim52" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_52" /> </animation-list> </item> <item android:maxLevel="53"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim53" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_53" /> </animation-list> </item> <item android:maxLevel="54"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim54" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_54" /> </animation-list> </item> <item android:maxLevel="55"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim55" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_55" /> </animation-list> </item> <item android:maxLevel="56"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim56" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_56" /> </animation-list> </item> <item android:maxLevel="57"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim57" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_57" /> </animation-list> </item> <item android:maxLevel="58"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim58" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_58" /> </animation-list> </item> <item android:maxLevel="59"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim59" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_59" /> </animation-list> </item> <item android:maxLevel="60"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim60" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_60" /> </animation-list> </item> <item android:maxLevel="61"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim61" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_61" /> </animation-list> </item> <item android:maxLevel="62"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim62" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_62" /> </animation-list> </item> <item android:maxLevel="63"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim63" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_63" /> </animation-list> </item> <item android:maxLevel="64"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim64" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_64" /> </animation-list> </item> <item android:maxLevel="65"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim65" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_65" /> </animation-list> </item> <item android:maxLevel="66"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim66" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_66" /> </animation-list> </item> <item android:maxLevel="67"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim67" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_67" /> </animation-list> </item> <item android:maxLevel="68"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim68" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_68" /> </animation-list> </item> <item android:maxLevel="69"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim69" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_69" /> </animation-list> </item> <item android:maxLevel="70"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim70" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_70" /> </animation-list> </item> <item android:maxLevel="71"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim71" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_71" /> </animation-list> </item> <item android:maxLevel="72"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim72" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_72" /> </animation-list> </item> <item android:maxLevel="73"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim73" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_73" /> </animation-list> </item> <item android:maxLevel="74"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim74" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_74" /> </animation-list> </item> <item android:maxLevel="75"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim75" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_75" /> </animation-list> </item> <item android:maxLevel="76"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim76" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_76" /> </animation-list> </item> <item android:maxLevel="77"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim77" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_77" /> </animation-list> </item> <item android:maxLevel="78"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim78" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_78" /> </animation-list> </item> <item android:maxLevel="79"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim79" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_79" /> </animation-list> </item> <item android:maxLevel="80"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim80" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_80" /> </animation-list> </item> <item android:maxLevel="81"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim81" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_81" /> </animation-list> </item> <item android:maxLevel="82"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim82" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_82" /> </animation-list> </item> <item android:maxLevel="83"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim83" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_83" /> </animation-list> </item> <item android:maxLevel="84"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim84" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_84" /> </animation-list> </item> <item android:maxLevel="85"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim85" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_85" /> </animation-list> </item> <item android:maxLevel="86"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim86" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_86" /> </animation-list> </item> <item android:maxLevel="87"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim87" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_87" /> </animation-list> </item> <item android:maxLevel="88"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim88" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_88" /> </animation-list> </item> <item android:maxLevel="89"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim89" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_89" /> </animation-list> </item> <item android:maxLevel="90"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim90" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_90" /> </animation-list> </item> <item android:maxLevel="91"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim91" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_91" /> </animation-list> </item> <item android:maxLevel="92"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim92" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_92" /> </animation-list> </item> <item android:maxLevel="93"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim93" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_93" /> </animation-list> </item> <item android:maxLevel="94"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim94" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_94" /> </animation-list> </item> <item android:maxLevel="95"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim95" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_95" /> </animation-list> </item> <item android:maxLevel="96"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim96" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_96" /> </animation-list> </item> <item android:maxLevel="97"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim97" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_97" /> </animation-list> </item> <item android:maxLevel="98"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim98" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_98" /> </animation-list> </item> <item android:maxLevel="99"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim99" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_99" /> </animation-list> </item> <item android:maxLevel="100"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1500" android:drawable="@drawable/stat_sys_battery_charge_anim100" /> <item android:duration="500" android:drawable="@drawable/stat_sys_battery_100" /> </animation-list> </item> <item android:maxLevel="101"> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim100" /> <item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_animfull" /> </animation-list> </item> </level-list>