開篇第一彈:關(guān)于Android手機(jī)屏幕適配的一些總結(jié)


江戶川米蘭

寫在開篇之前

親愛的小伙伴們,我想死你們啦妈橄,哈哈庶近。。嗨大家好眷蚓,我是WebberCao鼻种,中文名:江戶川米蘭。愛柯南沙热,愛米蘭叉钥,請(qǐng)叫我江戶川米蘭。Yeah篙贸!之前一直都是混CSDN的投队,也寫過一些比較水的博客,但自從看了一些在簡(jiǎn)書上發(fā)表的文章之后爵川,便被這種舒服的排版以及愉悅的寫作體驗(yàn)深深的吸引住了蛾洛。So,果斷的投入到了簡(jiǎn)書的懷抱雁芙。把之前我感覺有一定保留價(jià)值的文章搬到了這里來分享給大家轧膘,也當(dāng)是自己再?gòu)?fù)習(xí)一下。


好了兔甘,簡(jiǎn)短的自我介紹之后谎碍,開始今天的主題。開篇第一彈洞焙,肯定要直接上干貨了蟆淀。作為一個(gè)苦逼的Android程序猿,在面試的時(shí)候澡匪,我想不論你是面試的初級(jí)還是中級(jí)或者高級(jí)開發(fā)熔任,肯定都會(huì)被問到關(guān)于手機(jī)屏幕適配方面的問題,這個(gè)問題乍一聽感覺很寬泛唁情,一時(shí)不知道該從哪開始說起疑苔。剛開始我也被這個(gè)問題問倒過,因?yàn)樵趺凑f呢甸鸟,這其實(shí)不是一個(gè)技術(shù)問題惦费,而是在開發(fā)過程中總結(jié)出來的一些經(jīng)驗(yàn)兵迅。下面就是我關(guān)于Android手機(jī)屏幕適配的一些總結(jié)。


在此之前薪贫,有兩個(gè)需要了解的概念恍箭,就是手機(jī)的像素密度(dpi),以及縮放因子瞧省。

像素密度:手機(jī)單位長(zhǎng)度上的像素?cái)?shù)扯夭。

比如:

手機(jī)像素是:1280*720 ? 尺寸是:5寸(屏幕對(duì)角線的長(zhǎng)度)

像素密度:1280*1280+720*720,然后開根號(hào)(不好意思鞍匾,第一次用簡(jiǎn)書勉抓,不是太會(huì)用),得出來的數(shù)除以5候学,就得到像素密度了,大概是293dpi纵散。在240dpi~320dpi之間梳码,屬于xhdpi。


目前大部分手機(jī)屏幕都是屬于xhdpi

縮放因子:其實(shí)就是dp和ps的對(duì)應(yīng)關(guān)系伍掀。

mdpi:? 1dp = 1px

ldpi:? 1dp = 0.75px

hdpi:? 1dp = 1.5px

xhdpi: 1dp = 2px


dp和ps的對(duì)應(yīng)關(guān)系

在了解了上面兩個(gè)概念之后掰茶,我們可以從以下幾個(gè)方面進(jìn)行考慮:

1、圖片適配

根據(jù)手機(jī)的像素密度選擇對(duì)應(yīng)文件夾中的圖片蜜笤。

顯示圖片時(shí)濒蒋,根據(jù)手機(jī)的像素密度自動(dòng)加載對(duì)應(yīng)drawable文件夾中的圖片,如果沒有把兔,則會(huì)去加載高分辨drawable-hdpi文件夾中的圖片沪伙,或者更高分辨率文件夾中的圖片,如果都沒有县好,才會(huì)加載低分辨率文件夾中的圖片围橡。這就是為什么當(dāng)我們只有一套圖的時(shí)候會(huì)直接把圖片拷到drawable-hdpi文件夾中的原因。

2缕贡、Dimens適配

根據(jù)手機(jī)的像素密度來選擇對(duì)應(yīng)文件夾中的尺寸大小翁授。在res目錄中創(chuàng)建values-xhdpi文件夾,在此文件夾中創(chuàng)建dimens.xml文件晾咪,然后聲明dimens資源收擦。

<resourcese>

<dimen name="text_width">160dp</dimen>

</resourcese>

首先會(huì)根據(jù)手機(jī)的像素密度找對(duì)應(yīng)文件夾中的尺寸資源,如果沒有谍倦,則會(huì)去找默認(rèn)的尺寸資源塞赂。當(dāng)然在我們平常開發(fā)的時(shí)候沒必要為每個(gè)尺寸都在資源文件中設(shè)置不同的尺寸文件夾,dimens適配一般是在測(cè)試階段根據(jù)需要對(duì)部分尺寸進(jìn)行不同手機(jī)的屏幕適配昼蛀。

3减途、布局適配

根據(jù)手機(jī)的像素密度選擇對(duì)應(yīng)文件夾中的布局酣藻。

創(chuàng)建不同像素密度的布局文件,例如layout-xhdpi鳍置,然后把布局文件放到相應(yīng)的layout文件夾中辽剧。但是這種方法在后期維護(hù)的時(shí)候相當(dāng)麻煩,因?yàn)槿绻硞€(gè)頁(yè)面有個(gè)地方改動(dòng)了一下税产,則對(duì)應(yīng)所有布局文件夾中的布局頁(yè)面都需要修改怕轿,很容易造成混亂。所以雖然在以前這是官方比較推薦的適配方案辟拷,但現(xiàn)在已經(jīng)顯然很少使用了撞羽。

4、代碼適配

在代碼中動(dòng)態(tài)的設(shè)置控件的尺寸衫冻。

通過LayoutParams來設(shè)置控件的寬高值诀紊。(在代碼中指定的寬高值都是px)

代碼適配一般在自定義控件中使用的比較多。

5隅俘、Layout_weight適配

通過設(shè)置權(quán)重比例來進(jìn)行適配邻奠。

在頁(yè)面布局文件中通過layout-weight設(shè)置權(quán)重來進(jìn)行設(shè)置控件在屏幕中所占比例。

注意:當(dāng)寬或者是高設(shè)成權(quán)重之后为居,相應(yīng)的layout-width或layout-height應(yīng)該設(shè)置成0dp碌宴。


相信通過以上幾個(gè)方面進(jìn)行屏幕適配之后,我們的APP可以說是大小通吃蒙畴,萬(wàn)能適配贰镣。哈哈,開玩笑的了膳凝,不過終于完成了在簡(jiǎn)書上的第一篇文章碑隆,因?yàn)榇蠹业臅r(shí)間都很寶貴,所以都是挑的重點(diǎn)蹬音,寫的比較簡(jiǎn)短干跛,希望大家能夠喜歡,最后祝大家工作愉快祟绊,開心每一天楼入!^_^

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市牧抽,隨后出現(xiàn)的幾起案子嘉熊,更是在濱河造成了極大的恐慌,老刑警劉巖扬舒,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件阐肤,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)孕惜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門愧薛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人衫画,你說我怎么就攤上這事毫炉。” “怎么了削罩?”我有些...
    開封第一講書人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵瞄勾,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我弥激,道長(zhǎng)进陡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任微服,我火速辦了婚禮趾疚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘以蕴。我一直安慰自己糙麦,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開白布舒裤。 她就那樣靜靜地躺著,像睡著了一般觉吭。 火紅的嫁衣襯著肌膚如雪腾供。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,071評(píng)論 1 285
  • 那天鲜滩,我揣著相機(jī)與錄音伴鳖,去河邊找鬼。 笑死徙硅,一個(gè)胖子當(dāng)著我的面吹牛榜聂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播嗓蘑,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼须肆,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了桩皿?” 一聲冷哼從身側(cè)響起豌汇,我...
    開封第一講書人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎泄隔,沒想到半個(gè)月后拒贱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年逻澳,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了闸天。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡斜做,死狀恐怖苞氮,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情陨享,我是刑警寧澤葱淳,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站抛姑,受9級(jí)特大地震影響赞厕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜定硝,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一皿桑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蔬啡,春花似錦诲侮、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至空猜,卻和暖如春绽慈,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背辈毯。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工坝疼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人谆沃。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓钝凶,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親唁影。 傳聞我的和親對(duì)象是個(gè)殘疾皇子耕陷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

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