Chinaunix首页 | 论坛 | 博客
  • 博客访问: 355751
  • 博文数量: 107
  • 博客积分: 927
  • 博客等级: 大尉
  • 技术积分: 865
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-13 17:50
文章分类

全部博文(107)

文章存档

2014年(2)

2013年(13)

2012年(16)

2011年(76)

分类: Java

2011-11-15 16:13:13

相信不少童鞋很想实现电池图标精确到百分之一的控制,下面就分享一下方法。这是今天没事拆蓝色妖姬琢磨出来的,如有错误,请指正。" H( t: ?! [7 q
第一步:提取framework.apk,如何从手机提取我就不说了,重点讲一下后面。3 H; h9 B. _3 L' j  _8 |* [4 C( K9 B
第二步:解包framework.apk,用到的软件安卓工具箱,下载地址http://u.115.com/file/clqzcsbz: d/ V" S0 [0 L
看图:, k9 S8 a& B& _5 M- T
操作很傻瓜化,就不详细讲了,不喜欢这个软件的可以用apktool。
5 n, J2 u) ^' c+ ^解包后你会看见
; J9 \0 _0 L) D  @& a/ D
, v0 Y: d* v1 Z这几步都很简单,重点在后面。+ E, h1 L- m8 n7 B0 b8 E7 l
第三步:7 Q6 N9 s6 O* n
打开res/values,找到public.xml,在其中找到
  1. . K2 m1 ^8 E! J5 {/ ~# n! i
    很显然,原机状态下仅会显示百分之十,二十 四十 六十 八十 以及百分之百时候的电量。要实现精确到百分之一,就必须从这里开刀。。。6 n/ _. G6 R7 _. @
    明白了吧?添加吧…………你需要的是添加原来没有的数值,注意,
    复制代码
    中的id需要自己添加,方法是,找到文件的最后,然后将最后一个id加一,例如,我的最后一个id是0x010f0007则我要添加的就是0x010f0008。  E6 j" H# u+ W0 v+ v8 U
    好了,对public.xml的操作结束。
    # a& D' f; U) G& O. m图为我修改好的文件
    & w4 M( g5 q' D: q9 u5 d7 [+ W9 r& @) i7 z  m% R* E$ M/ l
    4 X/ n* Y( z3 ^% o! F8 X
    第四步:
    ' c" i% R1 w, R& @0 {  T) B% i打开res\drawable\stat_sys_battery.xml
    : N# N8 `- I# q7 e4 x该文件的作用是定义每一个电池状态对应的电池图标,系统自带的是

    1. 0 u. [7 x& v7 s& ]
    2.    
      & v& g4 q$ {  S8 @$ {
    3.    
      - k' j; Q- P/ G! I* w
    4.    
      , i  @" p& B- E( ?# j. X- C
    5.    
      8 W6 c. ?/ H! n: t0 C
    6.    
      + p( R9 r% t4 S+ o8 _
    7.    
    复制代码
    由于我们是要修改成精确到百分之一,则直接用以下代码即可
    1. xmlns:android="http://schemas.android.com/apk/res/android">0 \/ N! |9 T: J; h! z4 r8 b$ u
    2.     6 M5 `; v4 _% V: }- x, `3 u7 g
    3.    
      ! y2 w% J! R: [' O, K: Q
    4.    
      6 v% @6 u8 o; t4 Y. G2 v+ ^
    5.    
      ! t5 z9 a& t8 U
    6.     - O0 X# S& S! W+ s0 x
    7.     " \4 e9 M" g) U# i
    8.     4 I  V# M; C1 V. J2 t" d+ ~1 _
    9.    
      & U- k8 e) ]1 f8 g. q/ p
    10.     , Y' A: n: S) f. ?, Y& T0 Q! [
    11.    
      & w) K# B. @* i* l
    12.    
      5 ]% U/ |( a1 {: j
    13.     6 E& B2 y3 B; J
    14.     , ], L: b/ f, Y, G- f
    15.    
      " `% s2 D% |8 H
    16.    
      ; P$ O8 Z$ G$ r$ o& x& P8 k
    17.    
      3 _& F' D1 B8 q; S; u6 O$ ]9 i
    18.     ! s& E' p) Z) j8 v3 X
    19.     5 V& D" W4 M+ s: f9 u! @
    20.     , B! a3 ]8 P) y: z
    21.       Z- {! ?, B; g
    22.     % U, Y3 N4 H+ [( ^3 M" [; j7 X
    23.     " M1 c/ h( I& X3 V% N4 ?" v
    24.     6 a% X  k, `7 Y1 R& w, |+ U
    25.    
      # f! V  p; j4 L5 W. ^" m: T
    26.    
      * j/ B3 M( d  a' D
    27.       p: C6 r, M, R& i
    28.     8 t: }5 _1 I3 Z4 j
    29.     * E" }2 G6 Z3 K- F+ ?" f
    30.     7 e& {7 U" u2 D* F- w. ^
    31.     $ w7 V( G5 D" V2 ?1 @3 q- o
    32.     8 |; C7 S" Y- w  P! n# h/ v3 a; j
    33.     . a& D4 e# z% z' |4 B
    34.     6 \" R3 h' w- ]" a+ L; u) D
    35.     0 ?1 F/ J$ j7 `( d: h
    36.     ( w! N2 j3 Q/ l
    37.    
      ; S' l7 q& U# P7 ?
    38.    
        \; y6 ?: k& }8 K8 o$ b
    39.     0 h/ D3 l( i9 H% f6 E
    40.     # I# a' \: B' L. S& L5 F
    41.     . Q8 g" Y( O" q
    42.     " _# A6 T9 q3 A
    43.     & P3 T: \( a/ N8 F" a7 L( {
    44.     ! l) f+ _. B" h$ y
    45.    
      7 D; d* A/ G) |3 p$ J
    46.    
      ( u" G! \  ~2 L" g& ~$ C
    47.    
      - t, m1 I6 U* @+ c
    48.     ; F0 C* Y9 z+ v& O- S' B5 h" H6 G
    49.    
      % l+ n3 h2 M2 c9 q- m) W  q
    50.     7 C% X5 b1 l3 h4 \) c% x
    51.     ; b& _# ]# ^$ I3 f8 |
    52.    
      # Y& d) n5 e- u7 T6 c
    53.     ! V' n$ j" E9 [& g* P; _
    54.    
      ! Y, g5 V: \" X7 X
    55.    
      2 _' |9 S) e. ~# h" u( Q
    56.     & u' \) Z6 g5 M* A
    57.     * o% y5 Y2 N# T4 P
    58.     + e# c* b2 r8 L0 ~
    59.     * j& G# l8 L. p
    60.    
      , V6 N+ U2 k) m$ t
    61.     8 M3 n0 O2 t1 K. p" r5 S$ J
    62.     0 X- J3 J3 Y" x/ t4 J3 e
    63.    
      : C# Y) n' V" A! M5 ?
    64.    
      % J( F* L+ a9 S- U, d
    65.    
      * Y' B* x% Y3 J8 S  n0 W) B* s
    66.     : x% z3 j/ {) [& P
    67.     , ~8 V- t5 R9 c! {5 x/ v, B6 V
    68.    
      % t1 ]) N2 R, ^# T( V' s7 [" v" @1 ]
    69.     8 }+ H0 v$ \! V3 |. f- X
    70.     : Q3 I* M+ l, f" A& c
    71.    
      1 C" x: N! f: o: p2 o
    72.     1 H" n- H4 T" B
    73.     9 s- m! ~1 L2 ?( o  ?" A
    74.     ' D9 s0 K) J- o2 o9 q
    75.    
      ' d1 @  K. W3 N5 ^, B
    76.     8 I- f, ]$ H) Q8 |
    77.     ( s0 b2 a( d% `  g3 ^' h5 N$ h
    78.    
      $ \3 P" C6 Z  f  ~1 }. i; y! j
    79.     , r3 {  }5 w; g% j
    80.     ( ^/ ?# Y7 K- ]! Y
    81.     % z# W; M( A& I5 n7 v4 Q
    82.     1 Q% W9 P! K* `- T, d
    83.    
      + l0 r4 D8 M, m/ d: h( X9 p3 `
    84.     7 a9 S' l, `& Z  F: j% @
    85.     4 n. l3 i2 R$ x" l
    86.     , w7 i3 W" W' Z& P
    87.    
      8 P4 L  c& e# A! [8 y' V  N2 D- l
    88.    
      ; R  _, ~. W" n( l, t
    89.     6 G- Z7 e/ K6 X- z7 H) d
    90.     7 m. ~: ?+ x$ _( R2 @9 M- S" e
    91.     : {. q+ c. q- h! W0 q
    92.    
      7 j+ b& C, _8 }+ Z6 r9 ~
    93.     + L1 R. f, ?7 A9 W
    94.     ' u  c$ p! A# L3 d, m% T/ f+ d7 O3 B
    95.    
      " j( G& N  r- _# ]2 C8 C! l
    96.     4 `8 A1 h, ?, D4 |
    97.    
      - m1 ?% ]6 M$ w, u2 y1 G
    98.    
      0 i7 W2 C% h+ w4 O# h  Y" f; V
    99.    
      + q7 ?! ?9 U+ n: E
    100.    
      7 t$ ~- h& J# p1 m
    101.     + R2 M/ }1 e; ?& x6 ~9 a- S: T
    102.    
    复制代码
    至此,对本文件的修改结束。
    # \) X6 n  }5 {8 u/ T最后一步,将你的图标文件放进res\drawable-hdpi 注意,文件名一定要和前面设置的id对应。
    5 a2 o' e, H5 l  @- b: }如 我在public.xml中添加的是    " Z; G2 N6 \' C0 P+ V( t6 S; |9 z
    即百分之一电量时对应的文件名是tat_sys_battery_1
    & R) e& S  x1 g7 g  _# |: U) s' V
    至此,所有修改操作结束,后面的工作就是把apk重新打包。同样使用前面提到的安卓工具箱
    0 @% u  X! Z7 y7 g$ `2 D: ]  S见图
    0 y) y- s: P* \; T3 ?, V! U6 F% H, ]. }/ L

    - B  h7 P' _$ Y; w  Y4 w3 tok 操作结束,把apk重新导入手机即可
阅读(1473) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~