一直以來對這個屏幕適配就比較含糊,今天,公司突然給安排了個任務要從原來的 1024 * 768的屏幕,適配到1280 * 800的屏幕,瞬間就蒙圈了,然后找了點資料,明白了點。。。#####
** 總結了幾點屏幕適配的要點: **
權重適配
在開發過程中,對于布局文件中的大布局,我們盡量用權重去適配。使用dip(dp)
對于有具體大小要求的布局,我們要用dip(密度無關像素),文字用sp。-
單獨設置res文件夾下的各個文件的不同匹配參數(這里總結了3種情況)
2.3版本以后,google為了更精確的驚醒屏幕適配
我們以value文件夾為例,為其創建不同分辨率的文件夾
*這里的dp數值,都是以160dp為基準的,比如 2560 * 1600 320dip的屏幕,我們就得把他除以2,得到相對于160dip的分辨率,即1280 * 800,即w1280dp而不是w2560dp *
1. value-sw800dp
sw的意思是smallwidth,最小寬度(這個寬度是不會變的,就是手機無論橫屏豎屏,始終選取的最小的寬度),當sw >= 800dp 的時候,android會自動選去sw800dp文件夾下的配置文件。
** 但是 **
相對的油sh,最小高度,,這個是會根據手機的橫縱向而切換的,也就是說會改變的,作用跟sw一樣,google不建議使用sw和sh只能配置一個,應為只能有一個最小么~~~ 2. value-w800dp 這個跟sw意思差不多,只不過沒有最小的意思了,而是一個范圍取之,當我們屏幕的寬度到達800的時候,就會采用這個文件夾下的參數。 既然沒有最小s,所以我們可以定義各種分辨率的文件夾,例如w800dp,w1200dp,w1280dp,等,當屏幕分辨率打到改置,就會采用該文件下的參數了。 3. 以上都是對于文字(或者說是距離)上的適配,對于圖片的適配呢? 對于圖片來說,因為UI給我切的圖,肯定是固定分辨率的,我們無法改變,一般的,屏幕分辨率越大,密度也就越大,于是當屏幕分辨率很大的時候,圖片就會被縮小,顯得比例不合適,當屏幕分辨率很小時,圖片卻被放大,顯得模糊,對于這種情況,google給出的方案是,根據不同的分辨率切不同大小的圖,一般的,我們活適當的切兩套或者三套圖,分辨率從低到高,放到drawable文件夾下,這里給出一個google大概的drawable取值范圍,最后對應的是圖標的縮放(如果你放錯文件夾,就按照這個比例縮放圖片): drawable-mdpi 120dp~160dp 48px * 48px drawable-hdpi 160dp~240dp 72px * 72px drawable-xhdpi 240dp~320dp 96px * 96px drawable-xxhdpi 320dp~480dp 144px * 144px drawable-xxxhdpi 480dp~640dp 192px * 192px 比例為: mdpi :hdpi :xhdpi :xxhdpi :xxxhdpi = 2 :3 :4 :6 :8
Paste_Image.png