android 屏幕適配攻略

本文基于 鴻洋大神 在csdn上發(fā)布的 Android 屏幕適配方案這一博文蜈缤,基于自己的學(xué)習(xí)理解拾氓,說說,記錄下(照抄不誤 -底哥,-)

首先屏幕適配在實(shí)際android項(xiàng)目開發(fā)過程中是一個(gè)讓人蛋疼無(wú)比的難題咙鞍,很多面試也會(huì)問到(ps:數(shù)月前房官,我在深圳找工作面的公司,十家有十二家會(huì)問到)
恩续滋,先從概念性的東西開始說吧翰守,在布局文件當(dāng)中,一般我們的做法是dp吃粒,但是潦俺,正如鴻洋大神所說,dp在物理設(shè)備的屏幕尺寸相差太大的情況下并沒有什么用徐勃,就好比你寫的1280x720在磚頭似的其他安卓機(jī)子上(例如:某族事示,某視等),這種情況對(duì)于我們開發(fā)者而言就很尷尬了僻肖,我們是希望一個(gè)程序無(wú)論在哪運(yùn)行肖爵,樣式ui都顯示一樣。
說下我以前的做法臀脏,編寫多套布局劝堪,每個(gè)分辨率下面一套layout,比如layout-480x800,layout-1280x720,1080x1080等揉稚。
看似很好解決秒啦,但是
你確定你寫這么多布局你不煩?
你確定設(shè)計(jì)師給你只標(biāo)注px你換算成dp不煩?
你確定產(chǎn)品經(jīng)理不會(huì)在原有功能上再要求加點(diǎn)什么控件什么的?

所以在被人擼了幾遍后搀玖,我果斷放棄了上述這種做法(寫也麻煩余境,改動(dòng)也麻煩)

百分比我認(rèn)為確實(shí)是適配的最優(yōu)方式,像web頁(yè)面(咨詢過前端人員)灌诅,web在這么多分辨率的電腦芳来,還要兼容各種屏幕的手機(jī)一樣完美展示,所以猜拾。即舌。。
andorid中的百分比是match_parent和wrap_content 顯然的是所有空間都用這兩個(gè)屬性并不能匹配我們產(chǎn)品經(jīng)理天馬行空的產(chǎn)品需求

因此挎袜,針對(duì)ui常常給我們的圖是px標(biāo)注顽聂,百分比適配屏幕最優(yōu)的做法,使用這種方法比較好宋雏。


20150503174449732.jpg

建立多個(gè)values文件蕉陋,也就是常說的dimens適配
首先我們需要設(shè)立基準(zhǔn)试伙,最好以u(píng)i給出的px標(biāo)注圖為基準(zhǔn),這里我取480x320的分辨率為基準(zhǔn)(鴻洋大神原話:將任何分辨率的寬度取320份,取值x1-x320果港,高度取480份爬舰,取值y1-y480)
那么我們?cè)趯挾葹?80的屏幕上,它的x1就是 480/基準(zhǔn)值(320) = 1.5px

設(shè)置好了以后,在控件中奔浅,我們?cè)O(shè)置寬高的時(shí)候 width = "@dimens/x120" height = "@dimens/x120"即可
(這樣達(dá)到的效果是,無(wú)論在什么分辨率的機(jī)子上诗良,原控件在屏幕的百分比寬度汹桦,高度都是固定,從而實(shí)現(xiàn)適配屏幕)

編寫values文件也比較麻煩鉴裹,因此鴻洋大神給出了一個(gè)工具舞骆,xxx.jar 點(diǎn)擊即可自動(dòng)生成480x320的values文件夾(下面鏈接)
https://github.com/hongyangAndroid/Android_Blog_Demos/tree/master/blogcodes/src/main/java/com/zhy/blogcodes/genvalues

默認(rèn)基準(zhǔn)為480*320,當(dāng)然對(duì)于特殊需求径荔,通過命令行指定即可:
例如:基準(zhǔn) 1280 * 800 督禽,額外支持尺寸:1152 * 735;4500 * 3200总处;

按照
java -jar xx.jar width height width,height_width,height

上述格式即可狈惫。
到此,我們通過編寫一個(gè)工具鹦马,根據(jù)某基準(zhǔn)尺寸胧谈,生成所有需要適配分辨率的values文件,做到了編寫布局文件時(shí)荸频,可以參考屏幕的分辨率菱肖;在UI給出的設(shè)計(jì)圖,可以快速的按照其標(biāo)識(shí)的px單位進(jìn)行編寫布局旭从∶镒遥基本解決了適配的問題。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末遇绞,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子燎窘,更是在濱河造成了極大的恐慌摹闽,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,888評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件褐健,死亡現(xiàn)場(chǎng)離奇詭異付鹿,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)蚜迅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門舵匾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人谁不,你說我怎么就攤上這事坐梯。” “怎么了刹帕?”我有些...
    開封第一講書人閱讀 168,386評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵吵血,是天一觀的道長(zhǎng)谎替。 經(jīng)常有香客問我,道長(zhǎng)蹋辅,這世上最難降的妖魔是什么钱贯? 我笑而不...
    開封第一講書人閱讀 59,726評(píng)論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮侦另,結(jié)果婚禮上秩命,老公的妹妹穿的比我還像新娘。我一直安慰自己褒傅,他們只是感情好弃锐,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,729評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著樊卓,像睡著了一般拿愧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上碌尔,一...
    開封第一講書人閱讀 52,337評(píng)論 1 310
  • 那天浇辜,我揣著相機(jī)與錄音,去河邊找鬼唾戚。 笑死柳洋,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的叹坦。 我是一名探鬼主播熊镣,決...
    沈念sama閱讀 40,902評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼募书!你這毒婦竟也來了绪囱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,807評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤莹捡,失蹤者是張志新(化名)和其女友劉穎鬼吵,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體篮赢,經(jīng)...
    沈念sama閱讀 46,349評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡齿椅,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,439評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了启泣。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片涣脚。...
    茶點(diǎn)故事閱讀 40,567評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖寥茫,靈堂內(nèi)的尸體忽然破棺而出遣蚀,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 36,242評(píng)論 5 350
  • 正文 年R本政府宣布妙同,位于F島的核電站射富,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏粥帚。R本人自食惡果不足惜胰耗,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,933評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望芒涡。 院中可真熱鬧柴灯,春花似錦、人聲如沸费尽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)旱幼。三九已至查描,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間冬三,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工缘缚, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留勾笆,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,995評(píng)論 3 377
  • 正文 我出身青樓齐媒,卻偏偏與公主長(zhǎng)得像蒲每,于是被迫代替她去往敵國(guó)和親啃勉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,585評(píng)論 2 359

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