android 修改launcher行數(shù)和列數(shù)的方法
android 修改launcher行數(shù)和列數(shù)
Launcher3桌面的行數(shù)和列數(shù)都是在InvariantDeviceProfile.java和DeviceProfile.java中動(dòng)態(tài)計(jì)算的,xml中無法配置。
Note:L版本無InvariantDeviceProfile.java,是DynamicGrid.java,但是計(jì)算方法都是一樣的。
InvariantDeviceProfile中用InvariantDeviceProfile來配置各種屏幕的手機(jī)桌面。如下:
InvariantDeviceProfile的各個(gè)參數(shù)依次代表:
配置名字(任意定義)、最小寬度(單位是dp)、最小高度(單位是dp)、桌面行數(shù)、桌面列數(shù)、文件夾行數(shù)、文件夾列數(shù)、主菜單中predicted apps最小列數(shù)、桌面Icon的size(單位是dp)、桌面Icon的文字size(單位是dp)、Hotseat的Icon個(gè)數(shù)、Hotseat的Icon的size(單位是dp)、默認(rèn)的桌面配置LayoutId。
PS:
如何由手機(jī)分辨率計(jì)算最小寬度、最小高度?
例如:手機(jī)分辨率為720*1280,DPI=320。
豎屏?xí)r:X*Y=720*1230(1230=屏幕高度-狀態(tài)欄高度-NavigationBar高度)
橫屏?xí)r:Y*X=646*1280(646=屏幕寬度-狀態(tài)欄高度-NavigationBar高度)
最小寬度為:323=Min(720,646)/(320/160)
最小高度為:615=Min(1230,1280)/(320/160)
如果要配置自己手機(jī)桌面的行數(shù)、列數(shù)、Hotseat的Icon個(gè)數(shù),需要計(jì)算"桌面Icon的size、桌面Icon的文字size、Hotseat的Icon的size",計(jì)算方式如下:
1、挑選三個(gè)和自己的手機(jī)配置最接近的DeviceProfile。最接近意味著dn 最小。
dn 的計(jì)算公式為:
2、由逆距離加權(quán)插值計(jì)算結(jié)果,計(jì)算公式如下:
計(jì)算結(jié)果為:
r1+r2+r3
例如:手機(jī)的最小寬度為294dp,最小高度為544dp。
1、挑選三個(gè)和自己的手機(jī)配置最接近的DeviceProfile:
▪Nexus S,distance is 52
▪Nexus 4,distance is 69
▪Stubby,distance is 102
2、由逆距離權(quán)重差值計(jì)算結(jié)果:
Hotseat的Icon的size為:37.57+10.65+1.29 = 49dp
dp轉(zhuǎn)換為px:如果手機(jī)DPI=240,那么dp應(yīng)該乘以1.5(240/160)轉(zhuǎn)換為px,即49dp=73.5px。
桌面Icon的size、桌面Icon的文字size 計(jì)算與此類似。
總結(jié)
以上所述是小編給大家介紹的android 修改launcher行數(shù)和列數(shù)的方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Android編程之SQLite數(shù)據(jù)庫(kù)操作方法詳解
這篇文章主要介紹了Android編程之SQLite數(shù)據(jù)庫(kù)操作方法,簡(jiǎn)單介紹了SQLite數(shù)據(jù)庫(kù)及Android操作SQLite數(shù)據(jù)庫(kù)的步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-08-08Android獲取手機(jī)屏幕寬高、狀態(tài)欄高度以及字符串寬高信息的方法
這篇文章主要介紹了Android獲取手機(jī)屏幕寬高、狀態(tài)欄高度以及字符串寬高信息的方法,涉及Android獲取文字寬高、狀態(tài)欄高度、textView寬度及屏幕尺寸的相關(guān)技巧,需要的朋友可以參考下2015-04-04android中實(shí)現(xiàn)OkHttp下載文件并帶進(jìn)度條
本篇文章主要介紹了android中實(shí)現(xiàn)OkHttp下載文件并帶進(jìn)度條,OkHttp是比較火的網(wǎng)絡(luò)框架,它支持同步與異步請(qǐng)求,支持緩存,可以攔截,更方便下載大文件與上傳文件的操作,有興趣的可以了解一下2017-07-07android仿Adapter實(shí)現(xiàn)自定義PagerAdapter方法示例
這篇文章主要給大家介紹了關(guān)于android仿Adapter實(shí)現(xiàn)自定義PagerAdapter的相關(guān)資料,文中詳細(xì)介紹了關(guān)于PagerAdapter的用法,對(duì)大家的理解和學(xué)習(xí)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11Android實(shí)現(xiàn)倒計(jì)時(shí)的方案梳理
這篇文章主要介紹了Android實(shí)現(xiàn)倒計(jì)時(shí)的方案梳理,下面文章圍繞主題展開Android倒計(jì)時(shí)方案,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-08-08詳解Android如何實(shí)現(xiàn)好的彈層體驗(yàn)效果
當(dāng)前?App?的設(shè)計(jì)趨勢(shì)越來越希望給用戶沉浸式體驗(yàn),這種設(shè)計(jì)會(huì)讓用戶盡量停留在當(dāng)前的界面,而不需要太多的跳轉(zhuǎn),這就需要引入彈層。本篇我們就來講講彈層這塊需要注意哪些用戶體驗(yàn)2022-11-11