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

转载 2012年03月21日 16:41:14

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

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

要是先了解下:http://blog.csdn.net/northeastwolf/article/details/7379890

其实我很想把每个包详细的含义都作一个完整的说明,但需要一个漫长的学习过程。现在首先来学习状态栏的相关修改,这个涉及到frameworks包。这里先用2.2的布局文件来介绍,2.3的目录和这个基本上一样。

1. 状态栏的布局文件:/frameworks/base/packages/SystemUI/res/layout/status_bar.xml

在这个布局文件里修改状态栏的背景,可以把背景设置成图片或者颜色,可以把添加或者删除某个按键等;

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

/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarView.java

在此文件中,需要声明视图对象,添加、删除监听事件、以及触发事件后的处理方法等。

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

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

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

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

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

c文件: /frameworks/base/include/ui/KeycodeLabels.h

在上面几个文件中只要添加或者删除某个按键对应的按键值就可以了。

5. 状态栏涉及到资源图片文件主要在:/frameworks/base/core/res/res/

6. 状态栏可以下拉,那么这个下拉界面主要在:/frameworks/base/services/java/com/android/server/ StatusBarManagerService.java

7. 状态栏里面有一个时钟,它的主要代码在:

/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/Clock.java

上面只是简单介绍了要修改状态栏所涉及到的主要文件所在的位置,具体修改可以根据客户需求或者产品需求来作。

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

原文地址::http://zhu-apollo-163-com.iteye.com/blog/1242045   Android2.2、2.3定制修改状态栏,包括修改布局、背景、去除状态栏按键...

基于Android6.0源码修改屏蔽系统下方的虚拟按键以及上方的状态栏

1、屏蔽系统底部的虚拟按键 frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java ...

android 源码 在状态栏添加 虚拟按键(back,home,menu)

的版本有用,android2.3的代码和架构发生了不少变化,下面说说如何在在android2.3实现在状态栏中增加menu,home和back快捷键,本文大部分引用上面两篇文章,感谢两篇博文作者提供参...

Android完全隐藏导航键/虚拟按键和状态栏

之前有做过一个需求,在某一个界面隐藏掉home,主页,返回键这几个虚拟按键以及状态栏,就是要全屏显示,刚开始隐藏了,但是在有用户交互的时候,导航键又显示出来了,纠结了下,最后解决了,现在总结下...

Android2.3 状态栏修改教程

  • 2011年10月23日 18:30
  • 700B
  • 下载

Android应用:StatusBar状态栏、NavigationBar虚拟按键栏、ActionBar标题栏、Window屏幕内容区域等的宽高

感谢IT大道,copy只为了防止原文被删。原文请看 http://www.itdadao.com/2016/02/07/353404/ 一、屏幕中各种栏目以及屏幕的尺寸       当我们...

Android4.4之后实现沉浸式状态栏及虚拟按键的适配

沉浸式状态栏
  • wygsqsj
  • wygsqsj
  • 2017年02月21日 14:25
  • 3251

android沉浸式状态栏和虚拟按键

在java代码中: public class MainActivity extends Activity { @Override protected void onCreate(Bundle s...

Android应用:StatusBar状态栏、NavigationBar虚拟按键栏、ActionBar标题栏、Window屏幕内容区域等的宽高

当我们需要计算屏幕中一些元素的高度时,或许需要先获取到屏幕或者各种栏目的高度,下面这个类包含了Status bar状态栏,Navigation bar虚拟按键栏,Action bar标题栏, Wind...
  • gzj_vip
  • gzj_vip
  • 2016年02月07日 17:42
  • 551
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android2.2、2.3定制修改状态栏布局、背景、去除状态栏按键、添加状态栏按键
举报原因:
原因补充:

(最多只允许输入30个字)