安卓日記——屏幕適配

由于安卓的開源窿侈,各種設(shè)備的尺寸也是五花八門,我們無法做到任何設(shè)備都適配(特殊要求除外),所以只能針對目前比例最大的幾種機型進(jìn)行適配

首先普及幾個概念

px是構(gòu)成圖片的最小單位,dpi是像素密度迎瞧,對角線的像素除以長度,dip(也叫作dp)是密度無關(guān)像素逸吵,160dpi的設(shè)備上凶硅,1dip=1px。1dip 所等于的px和dpi成正比扫皱,也就是說在320dpi的設(shè)備上足绅,1dip=2px。

sp可以根據(jù)文字大小首選項進(jìn)行放縮啸罢,谷歌官方推薦使用sp作為字體的單位编检,應(yīng)該使用12sp以上且為偶數(shù)作為字體大小,否側(cè)可能看不清或者放縮時可能造成精度的丟失

名稱 像素密度范圍
mdpi 120dpi~160dpi
hdpi 160dpi~240dpi
xhdpi 240dpi~320dpi
xxdpi 320dpi~480dpi
xxxhdpi 480dpi~640dpi

支持各種屏幕尺寸的工作主要有以下幾個方面

1. 使用wrap_contnet扰才、math_parent允懂、weight
2. 使用相對布局,禁止絕對布局
3. 使用限定符
4. 使用自動拉伸位圖

1.使用wrap_contnet衩匣、math_parent蕾总、weight

在LinearLayout時,如果想兩邊的控件大小固定琅捏,中間的控件填充剩下的空間生百,可以設(shè)置中間控件的weight為1,其他兩個不設(shè)或者設(shè)為0柄延。
如果設(shè)置了weight最好把想高度或者寬度設(shè)為0蚀浆,比如想橫向用weight,那么就把寬度設(shè)為0搜吧,設(shè)為0后寬度或者高度和weight成等比例市俊,weight越大寬度或者高度越大。
如果兩個控件設(shè)置了math_parent和weight的話
weight計算出來的高度=原來寬度+剩余空間*weight所占百分比

 <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">
        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent" 
            android:layout_weight="1"
            android:text="button1"/>
        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent" 
            android:layout_weight="2"
            android:text="button"/>
    </LinearLayout>

設(shè)L是屏幕寬度滤奈,Button1現(xiàn)在的寬度是2/3L摆昧,他原來的寬度應(yīng)該是L,剩下的寬度是L-2L,然后它weight所占百分比是1/3

2/3L=L+(L-2L)*1/3

2. 使用相對布局蜒程,禁用絕對布局

如果是按照比例擺放的就用線性布局绅你,如果要控件之間有特殊要求的就用相對布局

3.使用限定符

使用尺寸限定符,在values文件夾加上尺寸昭躺,然后應(yīng)用可以根據(jù)不同設(shè)備尺寸選擇忌锯,如values-480x320

4.使用自動拉伸

.9圖左邊和上邊是拉伸區(qū)域,下邊和右邊是padding區(qū)域
在左邊和上邊設(shè)的點所在的線會被拉伸领炫,下邊和右邊所設(shè)的線的交叉區(qū)域保持和圓圖相同的padding
.9圖要在保留圖片的兩側(cè)點相同的點汉规,線不要穿過圖片,線上點會被拉伸,若某邊不需要拉伸可以不設(shè)點

最后放一個鴻洋大大的彩蛋

Android AutoLayout全新的適配方式 堪稱適配終結(jié)者

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末针史,一起剝皮案震驚了整個濱河市晶伦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌啄枕,老刑警劉巖婚陪,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異频祝,居然都是意外死亡泌参,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進(jìn)店門常空,熙熙樓的掌柜王于貴愁眉苦臉地迎上來沽一,“玉大人,你說我怎么就攤上這事漓糙∠巢” “怎么了?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵昆禽,是天一觀的道長蝗蛙。 經(jīng)常有香客問我,道長醉鳖,這世上最難降的妖魔是什么捡硅? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮盗棵,結(jié)果婚禮上壮韭,老公的妹妹穿的比我還像新娘。我一直安慰自己纹因,他們只是感情好喷屋,可當(dāng)我...
    茶點故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著辐怕,像睡著了一般逼蒙。 火紅的嫁衣襯著肌膚如雪从绘。 梳的紋絲不亂的頭發(fā)上寄疏,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天,我揣著相機與錄音僵井,去河邊找鬼陕截。 笑死,一個胖子當(dāng)著我的面吹牛批什,可吹牛的內(nèi)容都是我干的农曲。 我是一名探鬼主播,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼乳规!你這毒婦竟也來了形葬?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤暮的,失蹤者是張志新(化名)和其女友劉穎笙以,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體冻辩,經(jīng)...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡猖腕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了恨闪。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片倘感。...
    茶點故事閱讀 40,427評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖咙咽,靈堂內(nèi)的尸體忽然破棺而出老玛,到底是詐尸還是另有隱情,我是刑警寧澤犁珠,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布逻炊,位于F島的核電站,受9級特大地震影響犁享,放射性物質(zhì)發(fā)生泄漏余素。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一炊昆、第九天 我趴在偏房一處隱蔽的房頂上張望桨吊。 院中可真熱鬧,春花似錦凤巨、人聲如沸视乐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽佑淀。三九已至,卻和暖如春彰檬,著一層夾襖步出監(jiān)牢的瞬間伸刃,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工逢倍, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留捧颅,地道東北人。 一個月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓较雕,卻偏偏與公主長得像碉哑,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,440評論 2 359

推薦閱讀更多精彩內(nèi)容