`
hyshucom
  • 浏览: 808147 次
文章分类
社区版块
存档分类
最新评论

android 2.3 修改 statusbar

 
阅读更多

转载自:http://blog.csdn.net/android_learn/article/details/6710000

android 2.2 和android 2.3 在源码结构上有一些变化:tatusbar 的位置的变化,2.3中 statusbar 的源码在frameworks/base/packages/SystemUI中。

  1. 修改statusbar的背景,frameworks/base/packages/SystemUI/res/drawable-mdpi,替换 statusbar_background.9.png
  2. 调整statusbar的高度,frameworks/base/core/res/res/values/dimens.xml 中,修改<dimen name="status_bar_height">25dip</dimen> 的值,需要重新编译 framework ,在源码的跟目录执行 source build/envsetup.sh ,然后在根目录执行 mm framework-res ,在out/target/product/generic/system/framework中得到framework-res.apk ,将 此apkpush到 /system/framework中,重新启动 就可以看到效果。
  3. 调整statusbar中的日期和时钟的字体:frameworks/base/packages/SystemUI/res/layout/status_bar.xml 中,会有如下的代码<com.android.systemui.statusbar.Clock 定义时钟的样式,可以添加字体的属性 如: android:textSize等;<com.android.systemui.statusbar.DateView 定义的是日期的样式,可以添加字体的属性 如: android:textSize等。
  4. 去掉statusbar中的图标,在平板开发的过程中,有一些手机的功能可能在平板上用不到,如3G功能,但是怎么样把statusbar中的3G的图标去掉呢?在framework/base/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarPolicy.java 中会有下面的代码mService.setIcon("phone_signal", mPhoneSignalIconId, 0); 这里是设置手机信号的图标,去掉3G信号图标只需将这个文件中的 这句话注释即可。相应的也可以修改其他的图标。
  5. 修改完之后可以直接编译SystemUI,然后push 到/system/app 中,即可看到效果。
  6. 编译 SystemUI: 在android根目录执行 source build/envsetup.sh ,然后在根目录执行 mm SystemUI ,最后会在out/target/product/generic/system/app 中生成一个SystemUI.apk,
  7. adb push SystemUI.apk /system/app;
  8. statusbar是一种服务,需要启动satusbar服务:android 启动服务 命令: adb shell am start -n com.android.systemui/com.android.systemui.statusbar.StatusBarService,即可看到效果。
  9. 关于android启动Activity: adb shell am start -n 包名/包名.Activity名;启动服务:adb shell am start -n 包名/包名.服务名
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics