泰纳瑞斯特殊扣cs扣和ph扣的区别

workspace_bg.9.png资源图片
packages\apps\Launcher3\src\com\android\launcher3\Launcher.java
mWorkspaceBackgroundDrawable = getResources().getDrawable(R.drawable.workspace_bg);
& private void setWorkspaceBackground(boolean workspace) {
& & & & mLauncherView.setBackground(workspace ?
& & & & null : null); &//modified &delete the shawdown
& & & & & & & // &mWorkspaceBackgroundDrawable : null);
设置为 null 即可。这是launcher桌面的设置。
其实在桌面的时候 & 还是看到上下游阴影,这是SystemUI 的 状态栏和导航栏,如果也想去掉,就把status_background.9.png 和nav_background.9.png 换成你想要的颜色。
你也可以用XML文件替换过,比如, 参考/xiaoQLu/archive//2176359.html
frameworks\base\packages\SystemUI\res\drawable\status_bar_background_launcher.xml
&?xml version=&1.0& encoding=&utf-8&?&
&shape xmlns:android=&/apk/res/android&&
& & &!--gradient&
& & & & android:startColor=&#809933cc&
& & & & android:endColor=&#80ffffff&
& & & & android:angle=&270&
& & & & /--&
& & & & &solid android:color=&#00ffffff&/&
frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone\PhoneStatusBarTransitions.java
& & public PhoneStatusBarTransitions(PhoneStatusBarView view) {
& & & & //super(view, R.drawable.status_background);
& & & & super(view, R.drawable.status_bar_background_launcher); //modified by&
& & & & mView =
& & & & final Resources res = mView.getContext().getResources();
& & & & mIconAlphaWhenOpaque = res.getFraction(R.dimen.status_bar_icon_drawing_alpha, 1, 1);
替换即可。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:10971次
排名:千里之外
原创:13篇
(2)(3)(13)(1)android系统源码frameworks开发(11)
本文由以下博客转载解释编辑而成:
希望以一种更好的理解和解释帮助大家和自己了解android SystemUI
首先了解android系统栏(SystemUI)
& 状态栏(statusBar)
在左侧显示等候处理的通知以及在右侧显示一些设备状态,包括时间,电量等级,信号强度。轻轻的向下滑动状态栏将显示通知的细节。
导航栏(navigationBar)
这是Android 4.0 手机上的新功能,导航栏目前只会出现在没有传统的物理按键的设备上。它囊括了设备的导航控制,包括返回,回到主界面,最近使用,同时在Android 2.3或者更早版本编写的应用程序中扮演了Menu的角色。
在平板电脑上,状态栏和导航栏结合在一起显示在屏幕底部。
1.初始SystemUI
我们知道Android 同时适用于Phone和Tablet(TV),因此,对于Phone来说SystemUI指的是:
StatusBar(状态栏)、NavigationBar(导航栏)。而对于Tablet或者是TV来说SystemUI指的是:
CombinedBar(包括了StatusBar和NavigationBar)
知悉statusBar
和navigationBar 含义请查看我的
首先来看看SystemUI的代码位置,路径:SourceCode/frameworks/base/packages/SystemUI
在Android 4.0及以上中,Google整合了Phone和Tablet(TV)的SystemUI,也就说可以根据设备
的类型自动匹配相应的SystemUI
通过我的,我们可以知道
SystemUIService是在SystemServer.java中被启动的
这里的startSystemUi()方法则在ServerThread的run()方法中被调用。这里提到SystemServer就不得不提及Android的启动流程
&Android的启动分为内核启动、Android启动、launcher启动,我们的SystemServer就处于Android启动中
既然到这里SystemUIService已经启动,
首先查看其onCreate()方法,如下:
在这段代码中,通过AIDL的方式获取了WindowManager的对象wm,
并调用其方法canStatusBarHide()来判断当前设备的类型,
也就是说如果我们使用的Phone那么后续就会加载StatusBar和NivagationBar;
而如果我们设备类型是Tablet(TV)之类的
(可以在配置文档里面配置),
就会加载CombiedBar。
这里的canStatusBarHide()方法的具体实现是在:frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java。
为什么会是这里呢?我们在Eclipse中导入源码之后,找到SystemUIService.java中的
wm.canStatusBarHide()方法,通过open Implementation直接跳转到WindowsManagerService中:
但这里我们发现canStatusBarHide()实际上是WindowManagerPolicy的对象调用的方法,
而WindowManagerPolicy只是一个接口类,根据以往分析的经验可以知道,
这里的WindowManagerPolicy对象所调用的canStatusBartHide()方法一定是其实现类中的方法。
因此,继续通过open Implementation跳转,来到了PhoneWindownManager中:
继续查看mSatuBarCanHide的实现,如下所示:
这里通过shortSizeDp来判断当前设备的类型,如果当前屏幕的shortSizeDp&600dp,
则系统会认为该设备是Phone反之则认为是Tablet。根据mStatusBarCanHide的值,
设定StatusBar或者SystemBar(CombinedBar)的高度,以及是否显示NavigationBar。
&&&&&&& 继续回到我们的SystemUIService.java的onCreate()方法中,根据前面对canStatusBarHide()
的判断,SERVICE[0]中将存放R.string.config_statusBarComponent或者
R.string.config_systemBarComponent。它们的值具体是:
因为我的测试设备是Phone,那么现在SERVICE[0]中存放的就是
com.android.systemui.statusbart.phone.PhoneStatusBar。查看以下代码:
这些方法会分别启动两个方法,这两个方法可以从log中知道,分别是
PhoneStatusBar.start()和PowerUI.start()。而我们的目的是要弄清SystemUI的启动,
因此现关注PhoneStatusBar.start()方法。
那么我们这里的重心主要是在super.start()和addNavigationBar()上
用于首先获取需要在StatusBar上显示的各种icons。
然后初始化一些属性。最后通过WindowManager的addView方法将StatusBar显示出来。
用于启用NavigationView
想要进一步的开发StatusBar,请参阅http://blog.csdn.net/yihongyuelan/article/details/7623578,
我这里只是解释加载过程
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:51315次
积分:1095
积分:1095
排名:千里之外
原创:53篇
转载:20篇
(2)(3)(2)(4)(2)(7)(10)(2)(2)(27)(15)adb卸载并替换系统apk
原生系统调试时经常会遇到Setting、SystemUI模块替换测试(比如Settings.apk、SystemUI.apk等等),模块编译总比整体编译要快的多,所以,系统apk测试就需要使用到adb工具。adb基本push/pull/shell等用法,可参考:
本文描述如何替换系统apk方法。
一、adb导入系统apk
假设替换SystemUI.apk,可通过如下命令(依次执行):
adb remount
adb shell rm system/app/SystemUI.apk
adb uninstall com.android.systemui
adb push SystemUI.apk system/app/SystemUI.apk
再次启动Launcher时,新的SytemUI.apk就会生效。如果您感觉apk应该没问题还是总是运行崩溃,可尝试重启一下设备。
二、uninstall卸载失败
如果uninstall失败(提示Failure错误),请检查:
1、adb uninstall 后边的参数包名是否正确
2、注意大小写,也不要带.apk扩展名
3、有时候apk名称跟安装登记的名称并不相同,可查看当前apk的AndroidMainifest.xml文件中&manifest&节点下package元素所指定的名称。
三、使用adb启动apk
系统apk一般都是带有启动入口,比如设置菜单、状态栏、及一些服务也都有触发条件,所以,adb启动apk用处就不太大,先节选在这里做个提醒,或许独立apk程序能用得上。
1、使用aapt查看包信息
aapt工具在Android sdk build-tools(也可能子目录)下,查看包信息,只需把apk拷贝到aapt的当前目录下,然后命令行下执行:
aapt dump badging SystemUI.apk
就可看到该包信息,其中:
package字段&&为包安装名称
launchable-activity&&为包启动的Activity
2、启动apk
adb shell am start -n 包名/包名+类名
实例(来源文末地址):
C:\Users\Administrator&adb shell am start -n com.android.camera/.Camera
Starting: Intent { cmp=com.android.camera/.Camera }
参考资料:
相关文章:&&
相关评论(0):&&
邮箱(选填)
主页(选填)
记住我,下次回复时不用再次输入个人信息
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。&的最新主题
不知道有没人觉得,mx打开软件什么的显示文字都有点大了,显示的内容也比其它手机少。以前见过有人发贴提议官方修改,当然是被忽视了。刷过miui的应该知道,在miui上看到屏幕显示的内容较多,文件也较小。照顾某部分人的需要(我也是这部分人),放一下在flyme 2.X上修改屏幕dpi的教程,是flyme 2.X,不是miui,看清楚再扣分。直接修改过dpi的应该也知道,修改后顶栏出现空隙,桌面图标也变小了,这里一并把这些问题也解决,只剩下点击页面预览不太好看这个小问题(有没其它问题不敢确定)。
(在这里说到miui是不是要被扣,刚在讨论区发个图就被个2B扣分了,这年头。。。 ,这2B狗居然跟上来扣了)
先上教程,手机上后再补图。
以下教程,得先学会些反编译apk文件的知识,这个自己网上找找,这里只是介绍修改的文件及参数。
1,首先修改屏幕像素密度,这个很多地方都有介绍,简单说一下。
手机要先root,打开System\buid.prop,我用的是RE管理器,修改ro.sf.lcd_density值为298(多谢飞行伊诺提醒),这里随便你修改了,只不过以下的修改都是针对298这个值来修改的,如果要改成其它的后面自己再慢慢调整参数吧。(miui好像是280,个人觉得小了)
2,用RE管理器拷贝出System/App里的SystemUI.apk和Launcher2.apk文件到电脑上,电脑要装好java环境及反编译工具,我用的是APKTool,搭建环境方法还是那句,自己网上找找。
3,反编译SystemUI.apk,打开res\values\dimens.xml文件,修改status_bar_expanded_meizu_width值为344,这是为了解决顶栏下拉空隙而修改的,这里也只是针对ro.sf.lcd_density值为298的情况作的修改。
4,回编译SystemUI.apk,替换resources.arsc文件。
5,接着修改Launcher2.apk,反编译,打开res\values-sw320dp\dimens.xml文件,修改app_icon_size_define_size、app_icon_size、workspace_cell_width、workspace_cell_height、app_icon_size_real,folder_preview_size_meizu,都在原值上加4(也就是原来是53,那就修改为57),继续修改folder_items_num_offsetx0为3.0,folder_items_num_offsetx1为13.0,folder_items_num_offsety0为5.0,folder_items_num_offsety1为15.0,hotseat_right_center为226.5,这些值都是我慢慢调整得出的,我还改了workspace_bottom_padding为60.5,这是为了图标整体上移一点的,用宽顶栏的肯定不喜欢。
6,同上,回编译Launcher2.apk,替换resources.arsc文件,用WinRar打开就能替换。
7,将修改后的文件替换手机的这两份文件,记录修改权限rw-r-r。& &
8,重启手机。
修改后计算器和录音机出现不能全屏的问题,后续会陆续补上相关文件,有条件的自己修改就行,累
[ 本帖最后由 三千浓眉 于
22:14 编辑 ]
补充内容 ( 11:45):
经计算,修改dpi为288是最适应的,详看32楼。
话说论坛改版后编辑起来真麻烦,补充还不让发链接。
补充内容 ( 00:11):
修改ro.sf.lcd_density为292的文件链接在38楼,和官方说的ppi是对应的,任君选择。
(87.38 KB)
点击文件名下载附件
技术贴 顶一个.
回复 1楼 三千浓眉 的帖子
lz上附件啊
回复 1楼 三千浓眉 的帖子
LZ建议你修改为299,这个MX最为合适,如果该为298,那么文档中,选择一个文件后,就会出现all(原本All在menu里),但其实MX最为合适的是298,但应为文档,所以299就可以了,LZ可以试试
回复 4楼 飞行伊诺 的帖子
手机党的伤不起啊,上个附件咯
回复 5楼 pwendy 的帖子
dpi为300的停止更新,需要文件的看11楼,dpi修改为298的,flyme 2.1.3。
[ 本帖最后由 三千浓眉 于
22:17 编辑 ]
原帖由 飞行伊诺 于
19:16 发表
LZ建议你修改为299,这个MX最为合适,如果该为298,那么文档中,选择一个文件后,就会出现all(原本All在menu里),但其实MX最为合适的是298,但应为文档,所以299就可以了,LZ可以试试 ...
看来是同样纠结的人啊,哈哈。
回复 6楼 三千浓眉 的帖子
谢谢啦,楼主发一个原版的SystemUI.apk吧,还是喜欢原滋 原味的
原帖由 pwendy 于
19:42 发表
谢谢啦,楼主发一个原版的SystemUI.apk吧,还是喜欢原滋 原味的
你开机后重新应用一下主题,就跟原版的一样是全黑顶栏了,我懒。
众口难调,所以我才不想上附件,授人以鱼不如授人以渔啊。
回复 7楼 三千浓眉 的帖子
是啊,298不能改,也就没办法了,就改了299,明天上班了,再改下顶栏看看,桌面到时候看看,要不要改,文档到时候反编译了看看,能不能改好
回复 10楼 飞行伊诺 的帖子
按你说的改成了298,貌似以前也有人说过这个是最适合mx的,一时就忘了。桌面图标较300的改大了一个像素,文件夹里的图标偏移也加了0.5,顶栏加了两个像素,文档里多出个&全选&,我倒不纠结这个,将就用了。
顺便共享一下改成298后回编译的两份文件
[ 本帖最后由 三千浓眉 于
20:34 编辑 ]
LZ做个傻瓜型,直接安装可用那才高明啊,不是每人都会技术的
回复 11楼 三千浓眉 的帖子
对了,改了之后,计算器显示有问题,不能全屏。
我一直都想这么干!
回复 13楼 飞行伊诺 的帖子
再传个修改后的计算器吧,先放到System目录,修改权限后再转到App目录,这样就不会导致手机黑屏了。
针对修改dpi为298的计算器,修改为300的就不做了,感觉要被困在这里了。。。发现录音机也没全屏,我了个擦
[ 本帖最后由 三千浓眉 于
22:04 编辑 ]
回复 15楼 三千浓眉 的帖子
...哈哈,官方的很多不能自适应的
最后一份,录音机文件,和替换计算器的一样,都是硬逼症惹的祸,此贴不再维护 。
回复 17楼 三千浓眉 的帖子
计算器和录音机修改的文件位置说下吧
回复 18楼 飞行伊诺 的帖子
同样是res\values\dimens.xml文件,换汤不换药的。
计算器修改key_left_margin为11.5,key_top_margin为13.0,key_margin为13.0,panel_height为377,panel_padding_top为21。
录音机修改record_back_ground_height为459,spectrum_view_height为198,rotate_imageview_margin_top为60.5,first_rotate_view_margin_left为42,second_rotate_view_margin_left为245.5,都是慢慢调。。。
回复 19楼 三千浓眉 的帖子
Thx,明天自己再弄弄
我java什么都装好了& &环境变量也设置好了。
能解包& & 不能回编译& &打包& &怎办
发自魅族论坛手机客户端
回复 21楼 职业小诉控 的帖子
提取手机的framework-res.apk并设置为构架文件,再把APKTool安装后的路径也加到系统变量Path中,重启看看。
出现这样的情况& &
创建架构同样问题 无法建立原帖由 三千浓眉 于
08:34 发表
提取手机的framework-res.apk并设置为构架文件,再把APKTool安装后的路径也加到系统变量Path中,重启看看。
(23.67 KB)
点击文件名下载附件
(10.67 KB)
点击文件名下载附件
回复 23楼 职业小诉控 的帖子
用这个工具试下,集成右键的,安装时不要选择显示apk自身图标。
NET framework 4.0是不是必装
貌似我没装
回复 25楼 职业小诉控 的帖子
不显示自身图标应该不用装,我机子装了,靠它吃饭的。
回复 26楼 三千浓眉 的帖子
用apkdb合并odex到apk总是失败,不知道为什么
回复 27楼 飞行伊诺 的帖子
这我没合并过,留着吧。
上附件上附件
回复 1楼 三千浓眉 的帖子
楼主 做个MX双核最新固件2.4.1的
修改屏幕298的顶栏吧。
潇洒有一回926474 发表于
12:15 楼主 做个MX双核最新固件2.4.1的
修改屏幕298的顶栏吧。
2.4.1的等正式版出后再做,整理2.1.3的下载链接如下:
/share/link?shareid=&uk=
/share/link?shareid=&uk=
/share/link?shareid=&uk=
/share/link?shareid=&uk=
补充内容 ( 11:36):
该层文件已删除,详看楼下。
经计算,mx的像素密度修改为288是较适应屏幕的。
先按第1步修改ro.sf.lcd_density值为288(注意是288,不是298),再替换以下文件。
附上2.1.3版本dpi修改为288的文件,替换时先放到System目录下改好权限rw-r-r,再移到app目录进行覆盖。
/share/link?shareid=&uk=
lz做个2.41的啊
按照魅族的作风
mx2.41的正式版估计很久一段时间内都不会出的
原生的dpi大小看着真的难受
为了这我还专门刷miui
但是还是习惯flyme系统
自己又不会改
所以lz做好人吧
发个2.41的谢谢
在么,替换了你的dpi那个,下拉顶栏会出现三条横杠,怎么破?
所谓理想 发表于
01:15 lz做个2.41的啊
按照魅族的作风
mx2.41的正式版估计很久一段时间内都不会出的
原生的dpi大小 ...
建议使用2.1.3。
2.4.1用起来极度不稳定,重刷清数据等等折腾了不少时间,本来针对dpi为288改好的文件也在一怒之下就删了,再也不刷了。
W妖孽丶 发表于
12:38 在么,替换了你的dpi那个,下拉顶栏会出现三条横杠,怎么破?
那能给我发下298的么?
这个必须得顶
官方说mx的ppi为292,计算下来屏幕就是3.95寸了,那就再来个修改ro.sf.lcd_density为292的相关文件,同样是flyme 2.1.3版本。替换方式还是先拷到system目录,修改权限rw-r-r,再拷到app目录进行覆盖:
/share/link?shareid=&uk=
三千浓眉 发表于
00:05 官方说mx的ppi为292,计算下来屏幕就是3.95寸了,那就再来个修改ro.sf.lcd_density为292的相关文件,同样是 ...
一直挖不到帖子,能帮我修改成不透明的的状态栏吗?
上传的图片不符合要求

我要回帖

更多关于 ds 2cs54a7p ph 的文章

 

随机推荐