ICS4.0.3 怎么实现状态栏透明修改状态栏的简单教程:
1.安装编译环境,下载地址: http://www.oracle.com/technetwork/java/index.html
2.下载工具包: http://code.google.com/p/android-apktool/downloads/list
3.复制系统内的SystemUI.apk文件,注意,状态栏只需要修改SystemUI.apk文件,如果你要必电池的数字电量显示要修改framework-res.apk。
4.在命令提示符中使用 apktool d SystemUI.apk ss 命令解包SystemUI.apk文件到ss文件夹中
5.修改解包得到的drawables.xml文件,共有三个,每个都要改。把文件中 <item type="drawable" name="status_bar_background">#FF000000</item> 改为 <item type="drawable" name="status_bar_background">#30000000</item> 其中status_bar_background">#ff000000表示的就是指定状态栏颜色为不透明全黑色,其中notification_tracking_bg">#d8000000指定通知栏主背景为d8/ff(0.84)透明度的黑色,其中notification_header_bg">#ff000000指定快捷键底色为不透明黑色,更改这些数值即可改变状态栏通知栏透明度
关于透明度的修改,因为颜色透明度分为256种阶段,计算机上用16进制表示,00—ff,(0—255),因此,你想要50%的透明状态栏,就不能直接将“#ff000000”改为“#50000000”,而应该改为“#7f000000”
因为,50%透明度,即处于128第阶透明,又因为从0开始算第一阶,第128阶对应数值为127,转换为16进制为“7f”
明白了这些,你就可以任意更改状态栏通知栏透明度及颜色了
关于透明度的修改,因为颜色透明度分为256种阶段,计算机上用16进制表示,00—ff,(0—255)
因此,你想要50%的透明状态栏,就不能直接将“#ff000000”改为“#50000000”,而应该改为“#7f000000”
因为,50%透明度,即处于128第阶透明,又因为从0开始算第一阶,第128阶对应数值为127,转换为16进制为“7f”
明白了这些,你就可以任意更改状态栏通知栏透明度及颜色了
6.找到解包出来的 StatusBar.smali 文件,然后用文本编辑器打开,找到其中的“const v15, 0x800048” 字段,修改“const v15, 0x800048” 下方的 const/16 v16, 0x4 改为 const/16 v16, -0x3 。
7.用 apktool b ss 命令打包修改好的SS文件夹。在dist文件夹中就会有新生成的SystemUI.apk文件,现在你可以用签名工具签名后复制到机器内测试了,如果没有签名工具,也可以把编译后的resources.arsc和classes.dex文件用Winrar替换回源文件SystemUI.apk里面~、
好了,基本的教程就是这样,用这种方法还可以改里面的很多东西,大家自己摸索吧,如果你要改数字电量显示,要改的是framework-res.apk文件。此教程同样适用于4.0.4系统。
1.安装编译环境,下载地址: http://www.oracle.com/technetwork/java/index.html
2.下载工具包: http://code.google.com/p/android-apktool/downloads/list
3.复制系统内的SystemUI.apk文件,注意,状态栏只需要修改SystemUI.apk文件,如果你要必电池的数字电量显示要修改framework-res.apk。
4.在命令提示符中使用 apktool d SystemUI.apk ss 命令解包SystemUI.apk文件到ss文件夹中
5.修改解包得到的drawables.xml文件,共有三个,每个都要改。把文件中 <item type="drawable" name="status_bar_background">#FF000000</item> 改为 <item type="drawable" name="status_bar_background">#30000000</item> 其中status_bar_background">#ff000000表示的就是指定状态栏颜色为不透明全黑色,其中notification_tracking_bg">#d8000000指定通知栏主背景为d8/ff(0.84)透明度的黑色,其中notification_header_bg">#ff000000指定快捷键底色为不透明黑色,更改这些数值即可改变状态栏通知栏透明度
关于透明度的修改,因为颜色透明度分为256种阶段,计算机上用16进制表示,00—ff,(0—255),因此,你想要50%的透明状态栏,就不能直接将“#ff000000”改为“#50000000”,而应该改为“#7f000000”
因为,50%透明度,即处于128第阶透明,又因为从0开始算第一阶,第128阶对应数值为127,转换为16进制为“7f”
明白了这些,你就可以任意更改状态栏通知栏透明度及颜色了
关于透明度的修改,因为颜色透明度分为256种阶段,计算机上用16进制表示,00—ff,(0—255)
因此,你想要50%的透明状态栏,就不能直接将“#ff000000”改为“#50000000”,而应该改为“#7f000000”
因为,50%透明度,即处于128第阶透明,又因为从0开始算第一阶,第128阶对应数值为127,转换为16进制为“7f”
明白了这些,你就可以任意更改状态栏通知栏透明度及颜色了
6.找到解包出来的 StatusBar.smali 文件,然后用文本编辑器打开,找到其中的“const v15, 0x800048” 字段,修改“const v15, 0x800048” 下方的 const/16 v16, 0x4 改为 const/16 v16, -0x3 。
7.用 apktool b ss 命令打包修改好的SS文件夹。在dist文件夹中就会有新生成的SystemUI.apk文件,现在你可以用签名工具签名后复制到机器内测试了,如果没有签名工具,也可以把编译后的resources.arsc和classes.dex文件用Winrar替换回源文件SystemUI.apk里面~、
好了,基本的教程就是这样,用这种方法还可以改里面的很多东西,大家自己摸索吧,如果你要改数字电量显示,要改的是framework-res.apk文件。此教程同样适用于4.0.4系统。