移動APP測試:Android螢幕適配問題二
設計選擇性的佈局和圖片,替代資源的型別,取決於應用程式的需求。通常,應該使用尺寸和方向限定符提供選擇性的佈局資源,使用密度限定符提供選擇性的圖片資源。以下部分分別概括了該如何使用尺寸和密度限定符提供選擇性的佈局和圖片。(來源:千鋒軟體測試)
選擇性的佈局,應該確保應用程式的佈局:
· 適合在小螢幕上(確保可以實際使用)
· 在大螢幕上,確保充分利用額外的螢幕空間
· 適應豎屏和橫屏
如果使用者介面,需要讓點陣圖來適應檢視的大小(如一個按鈕的背景圖片),應該使用Nine-Patch 點陣圖檔案。Nine-Patch檔案基本上是一個PNG檔案它可以在特定的二維地區伸展。當系統需要拉伸點陣圖所在的檢視時,系統會拉伸Nine-Patch檔案,但是僅僅拉伸的是指定區域。正因為如此,不需要提供不同的螢幕尺寸不同的圖片,因為Nine-Patch的點陣圖,可以調整到任何尺寸。然而,應該為不同的螢幕密提供不同的Nine-Patch檔案。
選擇性的圖片
Figure 4. 支援各密度的點陣圖的相對大小
幾乎每個應用程式都應當為不同的螢幕密度提供圖片資源,因為幾乎每一個應用程式都擁有一個啟動圖示,而改圖示應當在不同密度的螢幕上顯示良好。
注: 只需提供密度相關的點陣圖檔案(.png, .jpg, 或者 .gif) 和 Nine-Path 檔案(.9.png)。如果需要使用XML來定義形狀,顏色或者可繪製的資源,應當在預設的drawable 目錄備份一份。
要建立不同密度的選擇性的圖片,應該在四個廣義密度之間遵循3:4:6:8的縮放比例。比如,一箇中密度下為48x48畫素的點陣圖(應用程式啟動圖示),與之對應的所有不同的尺寸應當是:
· 低密度為36x36
· 中密度為48x48
· 高密度為72x72
· 超高密度為96x96
配置例項
為了您針對不同型別的裝置進行設計,這裡是典型的螢幕寬度的一些數字:
· 320dp: 一個典型的手機螢幕 (240x320 ldpi, 320x480 mdpi, 480x800 hdpi, 等).
· 480dp: 像Streak一樣的中立平板螢幕 (480x800 mdpi).
· 600dp: 7”平板 (600x1024 mdpi).
· 720dp: 10”平板 (720x1280 mdpi, 800x1280 mdpi, 等).
使用表2中的尺寸限定符,應用程式可以使用任何您想要的寬度和/或高度為手機和平板之間切換不同的佈局資源。比如,如果600dp是平板佈局所支援的最小可用寬度,可以提供這兩套佈局:
res/layout/main_activity.xml # For handsets
res/layout-sw600dp/main_activity.xml # For tablets
在這種情況下,為了讓平板佈局實用,可用螢幕空間的最小寬度必須為600dp。
要進一步定製UI區分大小,如7“和10”平板的情況下,可以定義額外的最小寬度佈局:
res/layout/main_activity.xml
res/layout-sw600dp/main_activity.xml
res/layout-sw720dp/main_activity.xml
注意,前面的兩個例子資源使用“最小寬度”限定符,sw<N>dp,它指定螢幕兩邊的最小值,無論裝置的當前方向。因此,使用sw<N>dp是簡單的通過忽略螢幕方向的方式來指定佈局的整體螢幕尺寸。
然而,在某些情況下,可能重要的是佈局究竟有多大的寬度或高度目前是可用的。例如,有兩個並排的佈局,每當螢幕寬度至少提供600dp時使用,不論裝置是否是在橫向或縱向。在這種情況下,資源看起來像這樣:
res/layout/main_activity.xml
res/layout-w600dp/main_activity.xml
請注意,第二組使用“可用寬度”限定符,w<N>dp。這樣,一臺裝置可能根據螢幕的方向會使用這兩種佈局(如果可用寬度在一個方向至少600dp而在另一個方向小於600dp)。
如果關注的是可用高度,那麼同樣可以使用h<N>dp限定符。甚至可以結合使用w<N>dp 和 h<N>dp 限定符。
相關文章
- 移動APP測試-Android螢幕適配問題(一)APPAndroid
- android 螢幕適配Android
- @media 移動端螢幕適配
- 移動 web 端螢幕適配 – remWebREM
- Android 主流螢幕以及適配Android
- Android螢幕適配(理論適配100%機型)Android
- Android 螢幕適配終結者Android
- android 螢幕適配二:手寫百分比佈局適配Android
- 螢幕適配
- android螢幕適配三:通過畫素密度適配Android
- Android螢幕適配總結和思考Android
- Android技能樹 — 螢幕適配小結Android
- 移動端適配問題
- AutoLayout螢幕適配
- Flutter螢幕適配Flutter
- Android APP全方位效能調優之螢幕適配終結者AndroidAPP
- Android螢幕適配前先了解這些Android
- android 今日頭條的螢幕適配理解Android
- flutter 螢幕尺寸適配 字型大小適配Flutter
- Android 螢幕適配:最全面的解決方案Android
- 移動端iphoneX的適配問題iPhone
- android 螢幕適配一:通過自定義View的方式實現適配AndroidView
- 實踐 | 為 Trackr app 適配大螢幕裝置APP
- Android最全螢幕適配的幾個重要概念(三)Android
- 解決vue移動端適配問題Vue
- 移動端適配問題解決方案
- 頭條螢幕適配問題彙總及解決,這次你值得嘗試
- Android dp方式的螢幕適配工具使用(Android Studio外掛方式)Android
- Android螢幕適配方案Android
- android螢幕適配方法Android
- Android 螢幕自適應Android
- 【postcss-px-to-viewport】螢幕適配CSSView
- Flutter螢幕適配 - 等比縮放Flutter
- Android螢幕適配很難嘛?其實也就那麼回事Android
- H5 分層螢幕適配H5
- Android螢幕適配方案分析Android
- 適配移動端的問題以及解決方案
- 詳解 Android 12L|更好地適配大螢幕裝置Android