android螢幕適配攻略

2021-07-04 23:32:29 字數 2110 閱讀 4426

一、計量單位概念

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相互轉換工具,實現兩種...