android怎么修改源码,第1张

在Android界面的系统status bar上添加home,back,menu三个菜单,并完成对应的系统功能。并有higlight效果,修改status bar 高度和status bar上的文字尺寸。

这需要修改android sdk才能完成,我用的是eclair下面就我的操作进行叙述。

1首先完成界面显示效果。

需要修改文件

/frameworks/base/services/java/com/android/server/status/StatusBarPolicyjava,仿照mBatteryIcon等icon的添加方式添加自定义的icon,名称指定就好了。另外还要记得修改/frameworks/base/core/res/res/values/arraysxml,这里定义了icon的slot,并且决定了icon的摆放顺序。

这样,你需要的icon按键就可以显示在系统的status bar上面了。

2判断touch event是否按动了某个icon

需要修改的文件

/frameworks/base/services/java/com/android/server/status/StatusBarViewjava

首先在onTouchEvent函数中,获取当前event的坐标,然后比较是否在某个按键范围之内。由于系统对于statusBar的范围已经有了定义,所以这里只需要比较横坐标就可以了。

其次,也是这一步最关键的,怎么获取具体某一个icon的左右边界坐标呢?系统的status bar左边显示的图标都是notification, 右边显示的是系统icon 也就是说左边icon属于mNotificationIcons,右边的icon属于mStatusIcons 在文件StatusBarViewjava中出现的offset = getViewOffset(mStatusIcons),得到mStatusIcons的最左边的icon的left横坐标。用N = mStatusIconsgetChildCount()得到共有几个系统icon,其中包含visibility为false的icons用mStatusIconsgetChildAt(N-i)得到的是从右边数第i个的icon view 这个view的getLeft()+offset就是这第i个icon的左边横坐标,对应的getRight()+offset就是这第i个icon的右边横坐标。本例中home键是右边第2个icon

3定义icon响应事件

这里使用的方法是在StatusBarViewjava中向

/frameworks/base/services/java/com/android/server/status/StatusBarPolicyjava发送一个Broadcast,让StatusBarPolicy来完成具体的事件操作。这里需要注意的是不仅要在/frameworks/base/core/java/android/content/Intentjava中定义intent,还要在StatusBarPolicy的构造函数中添加该intent的过滤动作,即filteraddAction(IntentACTION_BACKICON_CHANGED)例如,按动了back键,如果当前事件为action_up,就向系统发送一个keyEvent,keyCode为KeyEventKEYCODE_BACK 这里借用的是/frameworks/base/cmds/input/src/com/android/commands/input/Inputjava中的sendKeyEvent函数,直接拷贝过来,按照需要稍微修改一下形参就可以了,过程不要修改。

需要说明的是,当点击statusBar可以拉出来一个notification列表,当这个列表显示出来的时候,这三个back, menu, home键的响应速度会非常慢,所以这时不响应事件并隐藏这三个键。具体做法是在StatusBarView的onTouchEvent()中判断mServicemExpanded或者 mServicemTracking为真时就不做响应。mService是StatusBarService对象。隐藏三个键也是用Broadcast来做的,但这个intent是由StatusBarServie发出来的,当mExpandedVisible = false时显示,当mExpandedVisible = true时隐藏。

这里还同时完成了highlight换图的动作,也是用Broadcast来做得,处理过程一样,就是需要区分action_down和action_up就可以了。

4调整status bar的高度

如果你需要显示较大的屏幕尺寸,同时statusBar的高度要拉大,上面的icon的size也需要调大。为了协调一致,显示时间的字体和notification显示的日期的字体也需要调大。具体做法如下:

a调节status bar icon的size: 只调节status_barxml的textSize标签似乎不起作用,同时又修改了/base/services/java/com/android/server/status/StatusBarIconjava的tsetTextSize(32);语句才成功。不知道修改status_barxml的<comandroidserverstatusAnimatedImageView>标签下的layout_height值是不是必须的,反正我是一起都给改了。

b调节status bar height: /base/core/res/res/values/dimensxml 找得我好辛苦!不知道还需不需要修改/base/core/res/res/values/themesxml中的Window attributes的windowTitleSize值,反正我也给改了。

c调节notification显示日期字体的大小,修改status_barxml的<comandroidserverstatusDateView>的textSize值。

到这里,就完成了所有工作,看看效果吧。

wordpress是用PHP写的PHP是服务器端执行脚本文件然后到客户端(就是网页)生成html文件你看到的html代码都是PHP程序在服务器端执行后生成的

想修改html代码主要是看想修改那一部分的内容然后找到其对应的PHP代码然后修改

在后台点击<外观>--><编辑>,就能看见你现在使用的wp主题的php文件

名字都有对应,主题支持函数,底部,顶部,索引页模板,样式表等等

想修改那个地方,就去找对应的文件

这个好办,在你需要修改的网页文件上右击,打开方式,记事本。打开修改后,在记事本保存,请把文件名的后面加上html。比如我的网页html然后在保存类型中选所有文件,以后保存,就行了!纯手打,给点分吧!不懂可问我,我是网页设计师。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » android怎么修改源码

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情