Android屏幕大小種類有很多,需要在開發的時候適配不同的手機屏幕,適配的方案有很多種可以在開發
中選擇最適合的
一、常見適配方案
1.圖片適配
2.等比縮放
分爲:dimens(values文件下)
權重
java代碼控制子控件寬高
3.layout重新佈局
4.根據百分比佈局(AndroidStudio)
目前只支持PercentRelativeLayout和PercentFrameLayout
5.終極方案(詳情見下)
二、適配方案詳解
1.圖片適配
目前主流的手機屏幕是1080*1920和720*1280,一般美工切出來這兩個屏幕的圖片就可以使用市面上
大部分的Android手機了,當然如果美工很閒的話可以針對每種屏幕都切出一套圖來,不過要考慮應
用程序不要太大
2.等比縮放
①dimens文件
以一種手機屏幕密度爲標準,適配其他屏幕密度的手機
例如在480*800的屏幕中放置寬爲240px的控件(寬度一半),現在要適配到320*480的手機上寬度應
爲 =(240px/480px)*320=160px即爲適配手機寬度的一半
dp引入
以屏幕密度劃分常見的有7種,以邏輯尺寸(dp)劃分常見有四種,可以一定程度上完成適配
android手機屏幕密度等級和屏幕邏輯尺寸的參數可以參考下面博客鏈接
http://blog.csdn.net/zhaoyw2008/article/details/46008513
②權重
在佈局的時候全都按照權重的方式,那麼這樣的佈局可以適應任何的屏幕(只能在線性佈局中)
③java代碼
佈局中帶有layout開頭的屬性都是以父佈局爲基準的,我們也可以在java代碼中通過拿到父佈局
的對象,通過父佈局的layoutParams屬性來佈局本身
3.layout重新佈局
無疑這是我們最最不想要的結果,一般是不會採用這種方法的
4.根據百分比佈局
這是AndroidStudio中新引入的,類似於線性佈局的權重,但是目前只有PercentRelativeLayout和
PercentFrameLayout兩種佈局
使用:
①要在gradle文件中添加節點
dependencies {
compile 'com.android.support:percent:22.2.0'
}
②設置根結點爲PercentFrameLayout或者PercentRelativeLayout
③設置View的layout_width="0dp",layout_height="0dp"
④使用app:layout_heightPercent="百分比"
app:layout_widthPercent="百分比"
5.終極方案
以720*1280爲基準 ,邏輯尺寸爲360dp*640dp,通過代碼生成其他三種邏輯尺寸對應大小的xml文件
每一個基準下dp值都轉換爲其他三種邏輯尺寸下的dp值,並且都以基準dp的名字命名
基準值如下
320dp*400dp下的值
這樣就可以很方便、簡單、快捷的做到屏幕適配,非常nice
三.小結
屏幕適配的這幾種方式可以根據項目的具體情況使用,能夠達到把項目做好的目的就好了,當然還有很
多其他方法來適配手機屏幕有待大家開發