一、計量單位概念
1.、螢幕尺寸:螢幕對角線長度(英吋)
2、螢幕解析度:縱向畫素x橫向畫素;單位是px
3、畫素密度:dpi,每英吋畫素點個數,計算方式:畫素密度=對角線畫素個數/對角線英吋長度; 對角線畫素點個數等於縱向畫素和橫向畫素開平方根
4、px(構成影象最小單位),dp,dip(密度無關畫素),以160dpi為基準,1dp=1px
5、在不同螢幕密度大小下根據不同的解析度將放在drawable下不同的資料夾下:drawable-mdpi(120-160dpi),drawable-hdpi(160-240dpi) ,drawable-xhdpi(240-320dpi),drawable-xxhdpi(320-480dpi),drawable-***hdpi(480-640dpi),在不同螢幕大小下通過values資料夾限定符提供不同的值,原理同drawable
二、螢幕適配解決方案:
1、支援各種螢幕尺寸
1.1、使用wrap_conteht match_parent layout_weight(權重)
weight屬性的真實含義——> 計算出的寬度= 空間原來寬度+剩餘空間所佔百分比的寬度(螢幕總寬度—空間總寬度= 剩餘寬度)
1.2、使用相對布局,禁用絕對布局
1.3、使用限定符
layout-large 適配android3.2以下裝置,最小寬度限定符layout-sw600dp適配3.2以上版本
如果要相容3.2以下,layout-large和layout-sw600dp必須同時使用
為了更好的相容低版本,可使用布局別名來更好相容並統一管理:
原來的寫法
res/layout/main.xml 單面板布局
res/layout-large/main.xml 多面板布局(3.2以下版本)
res/layout-sw600dp/main.xml 多面板布局(3.2以上版本)
採用布局別名的寫法:
1)setcontentview(r.layout.main);
2)res/layout/main.xml
res/layout/main_twopanes.xml
3)values資源限定:
單面板預設布局:
res/values/layout.xml
@layout/main
android3.2以下版本多面板布局:
res/values-large/layout.xml
@layout/main_twopanes
android3.2以上版本多面板布局:
res/values-sw600dp/layout.xml;
@layout/main_twopanes
使用螢幕方向限定符:
res/values-sw600dp-land/layout.xml
@layout/main_twopanes
res/values-sw600dp-port/layout.xml
@layout/main
1.4、使用自動拉伸位圖(點九圖)
命名——> image.9.png
左邊和上邊——>拉伸點
右邊和下班——>間隔區(類似padding)
2、支援各種螢幕密度
2..1 、使用非密度制約畫素
解決螢幕寬度不一致的問題,基本思路是以320為基準將螢幕均分為320份,不同螢幕大小每份的dp大小不一致:
1) values檔案限制不同螢幕
values-1920*1080 lay_x.xml lay_y.xml
values-480*320 同上
注意:在values當中需要放乙個預設的lay_x.xml 和lay_y.xml檔案,當values分類中沒有時會採用預設的values
2)lay_x.xml檔案內容
1.0dp
2">2.0dp
3">3.0dp
.....
320dp
3)在layout.xml布局檔案中設定長寬畫素:
android:layout_width = "@dimen/x280"...
2..2、提供備用位圖
將不同畫素放置在相應資料夾
3、實施自適應使用者介面流程
android螢幕適配
1 配置android應用程式適配在不同的手機上,需要在androidmanifest.xml檔案的manifest標籤中新增子元素 1 2 3 4 5 6 7 8 9 10 manifestxmlns android supports screens android smallscreens tr...
Android螢幕適配
在sdk中的幫助文件中。develpe training best practices supporting multiple screens 這裡有多屏適配的介紹。現做簡單記錄。screen size small 至少 426dp x 320dp normal 至少 470dp x 320dp l...
android螢幕適配
ui在不同的螢幕畫素或大小中顯示效果可能會不同 1 建議使用盡量使用線性布局和相對布局,基本上不會產生螢幕大小不適應的問題 2 設定控制項寬高的時候使用單位dip dp 是根據當前裝置大小比例計算出來的 3 文字設定盡量使用sp單位 4 盡量不使用px設定大小 畫素px和dip相互轉換工具,實現兩種...