android2.3 Luncher2如何開(kāi)啟3D效果
??? 剛進(jìn)公司,分配下來(lái)的任務(wù)就是熟悉Luncher,順便叫我看看能不能把a(bǔ)ndroid2.3的luncher2弄成adw_luncher的那種3D效果,可惜本人僅會(huì)java,不懂a(chǎn)ndroid的應(yīng)用編程,在網(wǎng)上看了很多拖拽的demo還是無(wú)從下手去修改原來(lái)的Luncher2,只能退能求其次,把原本luncher2支持的3d給開(kāi)啟。開(kāi)啟3D挺簡(jiǎn)單的,只是需要修改一個(gè)XML文件,但是出來(lái)的效果差強(qiáng)人意,圖標(biāo)、字體模糊,網(wǎng)上找了很多資料,都沒(méi)這方面的解決之道,最后看到2個(gè)遇到我這類(lèi)似的問(wèn)題,可惜的是只聯(lián)系上其中的一個(gè)哥們,但這哥們忙著搞4.0了,不愿意指導(dǎo),所以我只好自己忙乎了整整1個(gè)星期,終于整出老大的需求,現(xiàn)在貼出修改的地方,讓有需要的人士能從中得到某些思路:
工作目錄:
????????????? android2.3.4/packages/apps/Launcher2
開(kāi)啟3D:
?? ?All_apps.xml (reslayout)
?? ?默認(rèn):
另外還有一個(gè)方法可以修改圖標(biāo)的大小,就是在framework層修改,但是修改后會(huì)影響到workspace,設(shè)置過(guò)高,會(huì)導(dǎo)致在桌面app-name不顯示,設(shè)置過(guò)低,沒(méi)效果,不建議使用該招,親測(cè)!
?? ? android2.3.4/frameworks/base/core/res/res/values/dimens.xml
?? ??? ?//默認(rèn)是48dip? 800*480分辨率設(shè)置為72dip
from:http://www.apkbus.com/android-23853-1-1.html
在allapps狀態(tài)下字體模糊拉伸解決方法:
?? ?Utilities.java (srccomandroidlauncher2)?? ?
?? ?默認(rèn)情況下是字體空間大小是固定的,但是可以劃分成多行,由于固定空間決定了不同行數(shù)的行高不一樣,所以會(huì)導(dǎo)致出現(xiàn)字體拉伸,變形的情況
?? ?class BubbleText這個(gè)類(lèi)就是在控制app_name顯示的類(lèi)
?? ?默認(rèn): private static final int MAX_LINES = 2;
?? ?修改: private static final int MAX_LINES = 3;
?? ?如需更換字體,在BubbleText的構(gòu)造函數(shù)修改:
?? ?默認(rèn):? textPaint.setTypeface(Typeface.DEFAULT);
?? ?修改:? textPaint.setTypeface(Typeface.DEFAULT_BOLD); //加粗
?? ??? ?
?? ?
home鍵(小房子)的位置:
?? ?Allapps.rs (resraw)
?? ?在draw_home_button這個(gè)方法里是畫(huà)出房子圖標(biāo)的,可以根據(jù)情況來(lái)修改,屏幕左下角的坐標(biāo)為(0,0),可以根據(jù)實(shí)際情況來(lái)加減:
?? ?默認(rèn):
?? ??? ?y = (h - params->homeButtonTextureHeight) * 0.5f;
?? ?修改:
?? ??? ?y = (h - params->homeButtonTextureHeight) * 0.5f+15;
順便粘上eclipse 調(diào)試Luncher的方法,2d情況下可以調(diào)試,3d情況install的時(shí)候報(bào)錯(cuò),猜測(cè)是allapps.rs這個(gè)文件是需要arm-gcc編譯,而我的eclipse沒(méi)安裝插件支持