1. 程式人生 > >初學者關於螢幕適配的一些知識

初學者關於螢幕適配的一些知識

要想熟練的應用螢幕適配我們就需要螢幕適配到底有什麼作用。

什麼是螢幕適配

螢幕適配簡單的來說就是我們根據使用者裝置螢幕解析度的不同,而對應不同的解決方法。

螢幕適配包括幾個不同的方面,他們分別是:佈局適配,文字適配,圖片適配,尺寸適配

Android適配機制

drawable,在工程裡可以在res目錄下建立一系列的帶字尾的drawable資料夾,例如drawable-hdpi,drawable-xhdpi等等。
drawable的適配機制是,系統會先到字尾與裝置匹配的drawable目錄下找對應的圖片,當找不到的時候會去‘更高’一級的目錄去找,再找不到,繼續往高一級的找,再找不到就退而求其次去低一級的找,依次類推。
例如,在密度為xxhdpi的手機上執行app,會去drawable-xxhdpi目錄下找圖片資源,找不到就去drawable-xxxhdpi找,如果沒有比drawable-xxxhdpi更高的,則再找不到就去drawable-xhdpi找,再找不到就去drawable-hdpi找,直到找到對應的圖片資源,當找到後,系統會按密度對圖片做縮放處理,然後再顯示到螢幕上,所以如果圖片放的目錄不對的話,有可能造成圖片模糊。
layout目錄,layout目錄也是可以加字尾的,通常是帶解析度字尾(當然也可以加其他字尾,詳見android官網,這裡只討論常用的字尾),例如, layout-land-1024x720,layout-1280x720,layout-1920x1080等等。
layout目錄的適配機制是,從“高往低”找最接近的尺寸目錄,例如手機是1920x1080解析度的,但是如果無此layout目錄那麼便會低一級的layout-1280x720找佈局(而不會去高一級的layout-2560x1440找),依次類推,直至找到layout不帶字尾的目錄為止,如果還沒有,就會報錯。

文字適配

在我今天所學的內容中,我們需要在建立一個layout-en的包。在裡面我們只需要建立一個與layout中的相同的xmls檔案。當我們的裝置作業系統變為英語時。我們的APP就會自動變為layout-en的包中所顯示的檔案。

尺寸適配

尺寸適配就不多說了,就與我上面所說的適配機制所講的那樣。
下面附上程式碼

<resources>
    <dimen name="btn_width" values="100dp"></dimen>
</resources>
<Button
    android:layout_width
="@dimenn_width" android:layout_height="50dp" android:text="hello"/>

圖片適配

當同名的一張圖片mm.jpg ,但內容不同圖片,分別放置不同的目錄,手機會更加當前螢幕密度,載入不同的圖片。
所以方法就跟以上的方法差不多。

佈局適配

佈局適配的方法跟上面的方法差不多,只需要建立相對應的檔案並且裡面的檔名與正常的檔名相同那麼我們就可以實現佈局的適配。