android2.3 Luncher2如何开启3D效果
扫描二维码
随时随地手机看文章
刚进公司,分配下来的任务就是熟悉Luncher,顺便叫我看看能不能把android2.3的luncher2弄成adw_luncher的那种3D效果,可惜本人仅会java,不懂android的应用编程,在网上看了很多拖拽的demo还是无从下手去修改原来的Luncher2,只能退能求其次,把原本luncher2支持的3d给开启。开启3D挺简单的,只是需要修改一个XML文件,但是出来的效果差强人意,图标、字体模糊,网上找了很多资料,都没这方面的解决之道,最后看到2个遇到我这类似的问题,可惜的是只联系上其中的一个哥们,但这哥们忙着搞4.0了,不愿意指导,所以我只好自己忙乎了整整1个星期,终于整出老大的需求,现在贴出修改的地方,让有需要的人士能从中得到某些思路:
工作目录:
android2.3.4/packages/apps/Launcher2
开启3D:
All_apps.xml (reslayout)
默认:
另外还有一个方法可以修改图标的大小,就是在framework层修改,但是修改后会影响到workspace,设置过高,会导致在桌面app-name不显示,设置过低,没效果,不建议使用该招,亲测!
android2.3.4/frameworks/base/core/res/res/values/dimens.xml
//默认是48dip 800*480分辨率设置为72dip
from:http://www.apkbus.com/android-23853-1-1.html
在allapps状态下字体模糊拉伸解决方法:
Utilities.java (srccomandroidlauncher2)
默认情况下是字体空间大小是固定的,但是可以划分成多行,由于固定空间决定了不同行数的行高不一样,所以会导致出现字体拉伸,变形的情况
class BubbleText这个类就是在控制app_name显示的类
默认: private static final int MAX_LINES = 2;
修改: private static final int MAX_LINES = 3;
如需更换字体,在BubbleText的构造函数修改:
默认: textPaint.setTypeface(Typeface.DEFAULT);
修改: textPaint.setTypeface(Typeface.DEFAULT_BOLD); //加粗
home键(小房子)的位置:
Allapps.rs (resraw)
在draw_home_button这个方法里是画出房子图标的,可以根据情况来修改,屏幕左下角的坐标为(0,0),可以根据实际情况来加减:
默认:
y = (h - params->homeButtonTextureHeight) * 0.5f;
修改:
y = (h - params->homeButtonTextureHeight) * 0.5f+15;
顺便粘上eclipse 调试Luncher的方法,2d情况下可以调试,3d情况install的时候报错,猜测是allapps.rs这个文件是需要arm-gcc编译,而我的eclipse没安装插件支持