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 即可。