Android開發之螢幕適配
- 每個開發android都有過因為螢幕適配而感到頭痛,Android手機螢幕型別十分繁多, 大小尺寸,長寬比例都不盡相同,同一個介面在不同解析度的手機上可能出現佈局錯亂,控制元件跑位的現象,所以在這裡我寫一篇關於螢幕適配的做法。
- 在這裡宣告我開發Android也沒有多長時間,我就寫一下我自己在專案中螢幕適配的做法,可能有說錯的地方如果發現請各位指點出來,或者各位有更好的方法也請分享我一下在這裡就先謝過各位了.
- 下面都是親測都可以做到螢幕適配
(一)關於佈局
我們都知道Android的五大布局每種佈局都會有他獨特的特點但是在我們佈局的時候儘量使用RelativeLayout(相對布 局)和LinearLayout(線性佈局)不要使用絕對佈局
(二)關於單位
在這裡我先介紹一下Android的幾個常用尺寸單位
dp:dp也即dip(Density-independent Pixels),是一種與螢幕密度無關的尺寸單位,當螢幕密度是160dpi時,1dp=1px。當執行在高dpi的螢幕上時,dp就會按比例放大,當執行在低dpi的螢幕上時,dp就會被按比例縮小。因此dp是一種簡單的解決view在不同大小螢幕上顯示的問題的解決方案。
sp:sp(Scale-independent Pixels)和dp是比較相似的,但是它會隨著使用者對系統字型大小的設定進行比例縮放,換句話說,它能夠跟隨使用者系統字型大小變化。所以它更加適合做為字型大小的單位。
pt:pt(Point)是一個基於螢幕大小的物理尺寸,1pt等於1/72英寸(inch)。(不常用)
px:px(Pixels)相當於實際螢幕的畫素,由於不同螢幕的畫素數差異比較大,因此這個單位不被推薦用於尺寸單位
所以佈局中儘量使用dp為單位字型大小盡量使用sp為單位
如果真的要使用px為單位可以在Values資料夾下穿件不同螢幕的lay_y資料夾或者lay_x資料夾這些資料夾就會有不同螢幕所代表的px這些是以1280*720為標準
這裡就是使用px時資料夾的建立方法關於xml可以在網上搜一下
(三)自適應螢幕大小
AndroidManifest.xml檔案的元素如下新增子元素
android:anyDensity=”true”,系統會依據螢幕密度,自動去找對應的資料夾
就是根據不同螢幕密度尋找相應的xml資料夾
AndroidManifest.xml中的程式碼
然後在layout中建立幾個不同螢幕大小的資料夾
layout-small(螢幕尺寸小於3英寸左右的佈局)
layout-normal(螢幕尺寸小於4.5英寸左右)
layout-large(4英寸-7英寸之間)
layout-xlarge(7-10英寸之間)
將自己需要適配的佈局檔案複製到上面四個layout中即可
(四)圖片適配
- 圖片資料夾
480*800切下來的圖我們放在drawable-hdpi目錄下
按照2:3放大的圖示放在drawable-xhdpi目錄
按照2:3放大的圖示放在drawable-xhdpi目錄
按照2倍放大的圖示放在drawable-xxhdpi目錄下。
android會根據手機的密度優先查詢對應的目錄的資源
有些圖片可以在drawable-hdpi,drawable-xhdpi,drawable-xxhdpi資料夾下都放一張圖片 - 點九圖片的使用
- 如果是純色背景,儘量使用android的shape 自定義
黑色加粗為重點
這裡我總結一下
一、儘量使用RelativeLayout(相對布 局)和LinearLayout(線性佈局)不要使用絕對佈局
二、佈局中儘量使用dp為單位字型大小盡量使用sp為單位
三、把需要適配的佈局放到自己建立的不同螢幕大小的layout檔案中
四、圖片純色儘量背景儘量使用
相關文章
- android 螢幕適配Android
- Android 主流螢幕以及適配Android
- Android 螢幕適配工具類Android
- android螢幕適配詳解Android
- Android 螢幕適配終結者Android
- android螢幕適配的問題Android
- Android 螢幕適配最佳實踐Android
- Flutter螢幕適配Flutter
- UIWebView 適配螢幕UIWebView
- android螢幕適配三:通過畫素密度適配Android
- Android螢幕適配(理論適配100%機型)Android
- Android螢幕適配總結和思考Android
- Android技能樹 — 螢幕適配小結Android
- 小豬淺談Android螢幕適配Android
- flutter 螢幕尺寸適配 字型大小適配Flutter
- Android螢幕適配前先了解這些Android
- android 今日頭條的螢幕適配理解Android
- 安卓螢幕適配的方案安卓
- Android 螢幕適配:最全面的解決方案Android
- android 螢幕適配二:手寫百分比佈局適配Android
- android 螢幕適配一:通過自定義View的方式實現適配AndroidView
- Android APP全方位效能調優之螢幕適配終結者AndroidAPP
- Flutter螢幕適配 - 等比縮放Flutter
- 【postcss-px-to-viewport】螢幕適配CSSView
- Android最全螢幕適配的幾個重要概念(三)Android
- 移動 web 端螢幕適配 – remWebREM
- H5 分層螢幕適配H5
- 移動APP測試-Android螢幕適配問題(一)APPAndroid
- 移動APP測試:Android螢幕適配問題二APPAndroid
- Android螢幕適配dp、px兩套解決辦法Android
- 【移動適配】移動Web怎麼做螢幕適配(一)Web
- 【移動適配】移動Web怎麼做螢幕適配(三)Web
- android螢幕適配方法Android
- Android螢幕適配方案Android
- Android 螢幕適配方案Android
- Android 螢幕自適應Android
- 極其簡單的Flutter 螢幕適配Flutter
- Android螢幕適配很難嘛?其實也就那麼回事Android