Android 平板適配

1.手機和平板的劃分
人爲判斷方法:大於6英寸的就是平板。小於6英寸的都是手機。
平板尺寸:6英寸、7英寸、10英寸、14英寸…

2.平板專有的 android 3.x 系統
3.2之前使用屏幕限定符 small、normal、large、xlarge 等命名備用資源
3.2之後適配要使用限定符 swxxxdp。

3.屏幕尺寸限定符
swxxxdp:最小寬限定符,寬高中最小的一個值
wxxxdp : 指定資源可使用的最小寬度,屏幕方向變化時,寬度值會變
hxxxdp : 指定資源可使用的最小高度,屏幕方向變化時,高度值會變

總結:平板的適配基準 sw480dp、sw600dp(7英寸)、sw720dp(10英寸)等,手機屏幕的適配基準是 mdpi、hdpi、xhdpi 等。

4.聲明尺寸支持

在清單文件 AndroidManifest 中可以通過聲明來說明當前應用支持哪些屏幕。如果應用支持Android支持的所有屏幕尺寸(最小屏幕尺寸是 426dpx320dp),則不需要此步驟。
Android 3.2 爲 supports-screens 清單元素引入了新的屬性
android:requiresSmallestWidthDp:指定應用只用於最小寬度值。設定此值之後,只有設備的 smallestWidth 必須大於等於此值,才能使用該應用。

例如:如果應用只用於最小可用寬度爲 600dp 的平板電腦樣式設備,則在清單文件中聲明如下:

設置了該屬性之後,如果設備是 1024x720mdpi 的可以下載此應用,因爲 1024x720mdpi 的最小屏幕寬度是 720dp,但是應用在清單文件中設置的是 600dp。720dp>600dp

如果設備是 1024x720hdpi 的就不能能下載此應用,因爲 1024x720hdpi 的最小屏幕寬度是 720dp*1.5=480dp。sw480dp<600dp。以此類推。

用戶設備的兩個尺寸(widthxheight)的最小值必須大於等於 android:requiresSmallestWidthDp 值才能下載,但不影響設備運行。

注意:此值目前設置無效。因爲此值的設置並不影響系統運行,而是在應用商店上過濾應用。所以,如果想要使應用不支持小屏幕,就要使用其他的尺寸屬性,而不應該使用該屬性。因爲不起效果。

android:compatibleWidthLimitDp:指定應用支持的最大“最小寬度”,將屏幕兼容性模式用作用戶可選的功能。如果設備可用屏幕的最小邊大於您在這裏的值, 用戶仍可安裝您的應用,但提議在屏幕兼容性模式下運行。默認情況下,屏幕兼容性模式會停用,並且您的佈局照例會調整大小以 適應屏幕,但按鈕會顯示在系統欄中,可讓用戶打開和關閉屏幕兼容性模式。

例如:如果在清單文件中設置該屬性的值爲 600,則如果用戶的設備是 1024x720mdpi=sw720dp,則用戶可以仍可以安裝.

注意:如果應用可針對大屏幕正確調整大小,則無需使用此屬性。建議不要使用此屬性,而是按照建議,確保應用的佈局針對較大屏幕調整大小。

android:largestWidthLimitDp:此屬性可指定應用支持的最大“最小寬度”來 強制啓用屏幕兼容性模式。如果設備可用屏幕的最小邊大於該值,應用將在屏幕兼容模式下運行,且用戶無法停用該模式。

注意:建議不要使用此屬性來針對多屏幕適配。

5.使用示例
該方法基於Android多屏幕適配-手機思想
ui 基準是 1024x552mdpi。則屏幕寬度值的基準設置爲 sw552dp
對於不同的屏幕密度的設置如下:
1024x552mdpi=sw552dp
以此類推,保證 sw限定符 的單位是 dp 即可。

參考
谷歌官方文檔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章