android app 适应不同大小屏幕_移动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
注意,前面的兩個例子資源使用“最小寬度”限定符,swdp,它指定屏幕兩邊的最小值,無論設備的當前方向。因此,使用swdp是簡單的通過忽略屏幕方向的方式來指定布局的整體屏幕尺寸。
然而,在某些情況下,可能重要的是布局究竟有多大的寬度或高度目前是可用的。例如,有兩個并排的布局,每當屏幕寬度至少提供600dp時使用,不論設備是否是在橫向或縱向。在這種情況下,資源看起來像這樣:
res/layout/main_activity.xml
res/layout-w600dp/main_activity.xml
請注意,第二組使用“可用寬度”限定符,wdp。這樣,一臺設備可能根據屏幕的方向會使用這兩種布局(如果可用寬度在一個方向至少600dp而在另一個方向小于600dp)。
如果關注的是可用高度,那么同樣可以使用hdp限定符。甚至可以結合使用wdp?和?hdp?限定符。
總結
以上是生活随笔為你收集整理的android app 适应不同大小屏幕_移动APP测试:Android屏幕适配问题二的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5 ui自适应窗口_Qt编写地图综合应用
- 下一篇: python内存池机制_看过来啦!教你用