1.屏幕像素密度DPI的計算霉咨,dots per inch
(寬寬+高高)/英寸數(shù) = 像素密度
根據(jù)像素密度就可以對應出這個手機的高清程度了,然后將對應的圖片放到對應的文件夾下
2.px dp sp 分別代表什么
image.png
3.dimens適配
圖片適配只能是在處理圖片上的適配,如果要適配的控件不是圖片的話怎么辦拙寡?我們還有其他的適配方案庐橙,接下來我介紹一下另一種適配方案:dimens適配
dimens是dimension(尺寸)的簡稱,我們每個控件的寬高都可以通過一些固定值來設(shè)置尺寸
所以怯伊,希望在不同分辨率設(shè)備上控件的寬高尺寸不一樣(比如1280x720上是200px琳轿,800x480上卻不按比例顯示,想顯示成100px)耿芹,就可以通過設(shè)置dimens.xml來進行屏幕適配崭篡。通過多個values文件夾下(values-1280x720、values-480x320等等文件夾)放置dimens文件吧秕,
里面寫上相同名稱的dimen
- layout適配
跟dimens適配的寫法很類似的琉闪,還有一種layout適配
比如說在手機上可以是一種layout,在平板上可以是另一種layout
原理類似于dimens適配砸彬,只是改成創(chuàng)建一個layout布局xml文件來為某個布局頁面進行單獨適配颠毙。
步驟、原理仿照于第三個dimens適配砂碉,不再列出蛀蜜。
這里總結(jié)說明:手機運行app時,會先通過當前手機的分辨率增蹭、版本等信息滴某,來按照格式讀取不同的資源文件(格式:資源文件夾-。。霎奢。偏瓤。橫杠后面可以寫hdpi、分辨率椰憋、版本厅克、sw等,需要按照這個格式去寫橙依,不然Android編譯生成app時會不識別证舟,直接報錯)
5.根據(jù)權(quán)重來適配
這個是在xml文件中通過weight來進行設(shè)置的,比如說兩個view都設(shè)置weight是100窗骑,那么兩個view就會平分父控件的空間
6.通過百分比布局來適配
google官方提供了一個百分比布局女责,它可以供開發(fā)者進行屏幕適配。使用的前提是:
Android SDK v22 or high
Android Build Tools v22.0.1 or high
Android Percent Support Repository v22.2.0 or high
Android Support v4 Repository v22.2.0 or high
添加依賴
在你的moudle中的build.gradle文件里添加一下依賴:
dependencies {
compile 'com.android.support:percent:22.2.0'
}
該百分比布局中包含了可以使用百分比的相對布局PercentRelativeLayout和使用百分比的幀布局PercentFrameLayout创译。