免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3300 | 回复: 0
打印 上一主题 下一主题

Android2.2、2.3定制修改状态栏布局、背景、去除状态栏按键、添加状态栏按键 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-11-08 20:52 |只看该作者 |倒序浏览
Android2.2、2.3定制修改状态栏布局、背景、去除状态栏按键、添加状态栏按键





Android状态栏背景按键布局.Android2.2、2.3定制修改状态栏,包括修改布局、背景、去除状态栏按键、添加状态栏按键等,涉及到xml文件、java文件和底层库c文件以及图片等。



修改前先明白源代码架构,网上很多关于源代码目录结构的介绍,但都是很基础,我想可能是由于目录结构庞大导致无法详细说明每一个包,不过随着研究的深入,肯定会有详细介绍目录的文章,这里先引用网上的一篇介绍源代码目录结构的文章,主



要是先了解下:http://dev.10086.cn/cmdn/wiki/index.php?doc-view-5675.html

其实我很想把每个包详细的含义都作一个完整的说明,但需要一个漫长的学习过程。现在首先来学习状态栏的相关修改,这个涉及到frameworks包。这里先用2.2的布局文件来介绍,2.3的目录和这个基本上一样。
  1. 1. 状态栏的布局文件:/frameworks/base/packages/SystemUI/res/layout/status_bar.xml
复制代码
在这个布局文件里修改状态栏的背景,可以把背景设置成图片或者颜色,可以把添加或者删除某个按键等;



2. 修改布局后,需要在java文件里添加这个布局,并且创建布局中每个视图的对象,涉及到的java文件是:

  1. /frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarView.java
复制代码
在此文件中,需要声明视图对象,添加、删除监听事件、以及触发事件后的处理方法等。



3. 要修改状态栏的高度,需要在/frameworks/base/core/res/res/values/dimens.xml文件中修改。



4. 如果添加或者删除了某个按键,系统需要获取这个按键的按键值,涉及到按键值的四个文件是:

  1. XML文件: /frameworks/base/api/current.xml

  2. java文件: /frameworks/base/core/java/android/view/KeyEvent.java

  3. xml文件:  /frameworks/base/core/res/res/values/attrs.xml

  4. c文件:      /frameworks/base/include/ui/KeycodeLabels.h
复制代码
在上面几个文件中只要添加或者删除某个按键对应的按键值就可以了。



5. 状态栏涉及到资源图片文件主要在:/
  1. frameworks/base/core/res/res/
复制代码
6. 状态栏可以下拉,那么这个下拉界面主要在:/
  1. frameworks/base/services/java/com/android/server/ StatusBarManagerService.java
复制代码
7. 状态栏里面有一个时钟,它的主要代码在:
  1. /frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/Clock.java
复制代码
上面只是简单介绍了要修改状态栏所涉及到的主要文件所在的位置,具体修改可以根据客户需求或者产品需求来作
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP