- 浏览: 144617 次
文章分类
最新评论
-
zhufoxmailcn:
有希望了!但原能解决小米二电信与4G卡的短信兼容性问题
android无法自动识别sim卡中短信中心号码(SMSC刷新error)的解决方法 -
dss16694:
hotdll 写道l楼主一不小心泄露了自己的手机号码?那是短信 ...
android无法自动识别sim卡中短信中心号码(SMSC刷新error)的解决方法 -
hotdll:
l楼主一不小心泄露了自己的手机号码?
android无法自动识别sim卡中短信中心号码(SMSC刷新error)的解决方法 -
hotdll:
hotdll 写道我的手机是E10I 分辨率为240*320的 ...
CM7最新联系人代码(追加自动IP拨号、拼音首字母快速检索等功能) -
hotdll:
我的手机是E10I 分辨率为240*320的,miniCM7, ...
CM7最新联系人代码(追加自动IP拨号、拼音首字母快速检索等功能)
大家都知道定制在android开发中的重要性,因为通过定制,你才能制造出差异化的产品,才能满足更多消费者的需求,
像HTC生产的手机都通过了深层次的二次开发,今天我也来分享一下我的状态栏定制。
废话不说了,直接上图:
主要更换了背景,文字颜色以及icon的显示顺序.
2. 关键代码部分
a) 代码在系统中的位置
status bar 的相关代码位于:frameworks/base/services/java/com/android/server/status。
其中StatusBarPolicy类主要负责接收action动作,其他一些核心操作全部位于StatusBarService类里面
b) 代码实例:
i. 接收action
if (action.equals(Intent.ACTION_BATTERY_CHANGED))
{
updateBattery(intent);
}
ii. 更新icon
private final void updateBattery(Intent intent)
{
mBatteryData.iconId = intent.getIntExtra("icon-small", 0);
mBatteryData.iconLevel = intent.getIntExtra("level", 0);
mService.updateIcon(mBatteryIcon, mBatteryData, null);
}
c) 资源位置:
Status bar 的相关资源位于:frameworks/base/core/res/res,关键布局为:base/core/res/res/layout/status_bar.xml ,源码如下:重要的是红色字体标注部分,这里可以设置notification字体颜色。
<com.android.server.status.StatusBarView xmlns:android="http://schemas.android.com/apk/res/android" android:background="@drawable/statusbar_background" android:orientation="vertical" android:focusable="true" android:descendantFocusability="afterDescendants" > <LinearLayout android:id="@+id/icons" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <com.android.server.status.IconMerger android:id="@+id/notificationIcons" android:layout_width="0dip" android:layout_weight="1" android:layout_height="match_parent" android:layout_alignParentRight="true" android:paddingLeft="6dip" android:gravity="center_vertical" android:orientation="horizontal"/> <LinearLayout android:id="@+id/statusIcons" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:paddingRight="6dip" android:gravity="center_vertical" android:orientation="horizontal"/> </LinearLayout> <LinearLayout android:id="@+id/ticker" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="6dip" android:animationCache="false" android:orientation="horizontal" > <ImageSwitcher android:id="@+id/tickerIcon" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_marginRight="8dip" > <com.android.server.status.AnimatedImageView android:layout_width="25dip" android:layout_height="25dip" /> <com.android.server.status.AnimatedImageView android:layout_width="25dip" android:layout_height="25dip" /> </ImageSwitcher> <com.android.server.status.TickerView android:id="@+id/tickerText" android:layout_width="0dip" android:layout_weight="1" android:layout_height="wrap_content" android:paddingTop="2dip" android:paddingRight="10dip"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" android:textColor="#ff000000" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" android:textColor="#ff000000" /> </com.android.server.status.TickerView> </LinearLayout> <com.android.server.status.DateView android:id="@+id/date" android:layout_width="wrap_content" android:layout_height="match_parent" android:singleLine="true" android:textSize="16sp" android:textStyle="bold" android:gravity="center_vertical|left" android:paddingLeft="6px" android:paddingRight="6px" android:textColor="?android:attr/textColorPrimaryInverse" android:background="@drawable/statusbar_background" /> </com.android.server.status.StatusBarView>
3. 简单修改
对status bar 的修改主要包括status bar的背景颜色、icon、字体颜色、icon顺序等。
a) 背景颜色:
背景颜色由frameworks/base/core/res/res/drawable-mdpi/statusbar_background.9.png决定,原始颜色是灰色,我们修改为黑色。
b) Icon:
Icon根据不同显示项,由不同资源决定,暂时不更改。
c) 字体颜色:
由frameworks/base/services/java/com/android/server/status/ StatusBarIcon类中的代码控制,原始代码为:t.setTextColor(0xff000000),即黑色,我们将其更改为白色:t.setTextColor(0xffffffff)。
d) icon顺序:
由frameworks/base/core/res/res/values/array里面的资源文件控制,原始代码如下:
<string-array name="status_bar_icon_order"> <item><xliff:g id="id">clock</xliff:g></item> <item><xliff:g id="id">secure</xliff:g></item> <item><xliff:g id="id">alarm_clock</xliff:g></item> <item><xliff:g id="id">battery</xliff:g></item> <item><xliff:g id="id">phone_signal</xliff:g></item> <item><xliff:g id="id">phone_evdo_signal</xliff:g></item> <item><xliff:g id="id">data_connection</xliff:g></item> <item><xliff:g id="id">cdma_eri</xliff:g></item> <item><xliff:g id="id">tty</xliff:g></item> <item><xliff:g id="id">volume</xliff:g></item> <item><xliff:g id="id">mute</xliff:g></item> <item><xliff:g id="id">speakerphone</xliff:g></item> <item><xliff:g id="id">wifi</xliff:g></item> <item><xliff:g id="id">tty</xliff:g></item> <item><xliff:g id="id">bluetooth</xliff:g></item> <item><xliff:g id="id">gps</xliff:g></item> <item><xliff:g id="id">sync_active</xliff:g></item> <item><xliff:g id="id">sync_failing</xliff:g></item> <item><xliff:g id="id">ime</xliff:g></item> </string-array>
我们将battery与clock的位置更换。
发表评论
-
读懂diff
2015-09-10 16:50 551转自http://www.ruanyifeng.com/bl ... -
【转】努比亚手机玩转双系统
2014-08-21 16:16 0转自miui论坛:http://www. ... -
Z7 MAX 原厂ROM内核修改
2014-08-21 16:04 0努比亚的Z7 MAX出厂时预装NUBIA UI,说实话不咋地 ... -
(转)boot.img的结构
2014-08-21 15:58 949转自CSDN:http://blog.csdn.net/z ... -
android手机霍尔开关的介绍
2014-08-11 15:24 9390转自CSDN:http://blog.csdn.net/wl ... -
(转)Ubuntu11.10(32位)编译android常见错误(30种常见的)
2014-04-01 13:58 0开始正式编译,在源码目录下make即可。 make ... -
Mokee适配教程(从CM10适配)
2013-09-10 11:27 2514转自魔趣论坛,原始链接为: http://bbs.mfu ... -
ubuntu 12.04 android 编译环境搭建
2013-07-21 06:30 939参考:http://source.android. ... -
miui V5收费主题破解
2013-04-14 01:17 0看到有个家伙在淘宝上卖这东西,感觉有点过分,号称历时2个月才 ... -
Scrolling cache关闭
2013-04-14 00:51 0Scrolling cache关闭后,感觉没什么效果吧。可以用 ... -
ubuntu 12.04的代理设置
2013-04-09 15:48 1675ubuntu 12.04的代理设置 ... -
重新打包ubi镜像
2013-03-18 15:51 2189从网上了解到ubi image不能像其他格式的文件系统ima ... -
为android增加重启菜单
2013-03-17 16:06 1892转自:http://blog.csdn.net/zzp16/ ... -
小米更改第一屏
2013-03-12 11:39 869su dd if=/sdcard/emmc_appsboo ... -
远程发送开机指令
2013-02-28 15:26 1604转发一段用java发送远程开机数据包的代码: 另外,在线发 ... -
tesseract3语言训练
2013-01-06 23:26 1086http://blog.wudilabs.org/entry/ ... -
安卓窗口动画修改制作心得,定制属于你自己的特效动画
2012-12-26 13:07 2007转载自:http://www.miui.com/thread- ... -
(转)android系统特效详解和修改方法
2012-12-20 12:03 1476转自安智网:http://bbs.anzhi.com/foru ... -
socket编程
2012-08-01 17:06 990暂时先贴下地址,省的忘记: http://duguyi ... -
CM9(4.0.4)状态栏美化(青白色风格)
2012-07-31 23:35 2903以下操作均在SystemUI.apk反编译所得文件的基础上进行 ...
相关推荐
本文实例讲述了Android实现的状态栏定制和修改方法。分享给大家供大家参考。具体如下: 大家都知道定制在android开发中的重要性,因为通过定制,你才能制造出差异化的产品,才能满足更多消费者的需求, 像HTC生产的...
随着时代的发展,Android的状态栏都不是乌黑一片了,在Android4.4之后我们可以修改状态栏的颜色或者让我们自己的View延伸到状态栏下面。我们可以进行更多的定制化了,然而有的时候我们使用的是淡色的颜色比如白色,...
的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...
3.6.3 秘诀25:在状态栏中显示通知 62 第4 章 用户界面布局 65 4.1 资源目录及其基本属性 65 4.2 view 和viewgroup 67 4.2.1 秘诀27:利用eclipse 编辑器生成布局 68 4.2.2 秘诀28:控制ui 元素的宽度和高度 71...
6,SystemUI导航栏/状态栏定制 系列文章 7,frameworks \ opt \ net \ ethernet以太网静态IP 系列文章 8,开放系统ROOT权限,su和app 系列文章 9,动态替换开机徽标和开机动画 系列文章 10,Nvram相关知识
Android 8.1平台SystemUI 导航栏加载流程解析 9.0 改动点简要说明 1、新增 StatusBarMobileView 替代 SignalClusterView,用以控制信号栏显示 同时增加的还有 StatusBarIconView、StatusBarWifiView 2、整体流程和 ...
5.8 状态栏的图标与文字提醒 5.9 搜索手机通讯录自动完成 5.10 取得联系人资料 5.11 制作有图标的文件资源管理器 5.12 还原手机默认桌面 5.13 置换手机后台图 5.14 获取手机现存桌面 5.15 文件资源管理器再进化 5.16...
5.8 状态栏的图标与文字提醒 5.9 搜索手机通讯录自动完成 5.10 取得联系人资料 5.11 制作有图标的文件资源管理器 5.12 还原手机默认桌面 5.13 置换手机后台图 5.14 获取手机现存桌面 5.15 文件资源管理器再进化 5.16...
5.8 状态栏的图标与文字提醒 5.9 搜索手机通讯录自动完成 5.10 取得联系人资料 5.11 制作有图标的文件资源管理器 5.12 还原手机默认桌面 5.13 置换手机后台图 5.14 获取手机现存桌面 5.15 文件资源管理器再进化 5.16...
预览GIF特征: 检测互联网连接变化(连接/断开连接) 通过连接松动时可定制的状态栏通知消息提醒用户/重新获得连接时将其隐藏要求直接连接(Ping)到可靠的CDN(可变IP地址),以确保用户已连接到Internet 定期检查...
Android 一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导开发 IOS 由苹果公司开发的移动操作系统 Webkit 一个开源的浏览器引擎,在手机上的...
•根据需要隐藏元素(状态栏,停靠栏等) •快捷方式和文件夹的自定义图标和标签 •选择不同的文件夹预览样式和背景 •抽屉应用程序排序(标题,安装日期,主要使用) •隐藏来自的应用程序抽屉 •锁定桌面以防止...
初识知乎团队Matisse,很是喜欢。但,由于与本身项目UI风格差异较大,于是便基于知乎团队Matisse稍作改动,稍作扩展,最终推出Matisse-Kotlin方便...支持设置状态栏颜色 需依赖ImmersionBar 迁移到androidx、Kotlin
该启动器的主要目标是在定制和简单之间找到一个健康的中介。 在这一点上,它实现了典型启动器所需的大多数功能,但可以从一些常规的改进中受益匪浅。 如果您想提供帮助,请随时提交问题,或询问有关要在启动器中...
•隐藏元素(状态栏,停靠栏等) •自定义图标和快捷方式和文件夹标签 •选择不同的文件夹预览样式和背景 •抽屉应用程序排序(标题,安装日期,主要使用) •隐藏来自抽屉的应用程序 •锁定桌面以防止意外更改 •...
drawable/notificationicon.png推送通知的状态栏图标 drawable/appicon.png应用程序抽屉和推送通知的应用程序图标 登录屏幕和汉堡菜单的drawable/bg.png背景 推 如果您从默认的com.hsdemo.auction更改包名称,请确保...
-界面定制和主题; –选择用于下载文件的文件夹; –完成后的不同自动动作; –将不同的文件类型保存在不同的文件夹中; –创建一个空文件以加速下载; -自动停止过程中,如果电池的充电电平低; –从SD卡上的...
在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...