values-mpdi,values-land-mpdi,values-hpdi and values-land-hdpi
这在手机的屏幕上工作得很好,问题是7英寸平板电脑可能会从值-mdpi和10英寸平板电脑获取价值,但结果却不一样,我猜是因为屏幕尺寸(尽管是相同的分辨率和相似的密度)
所以我试过了:
values-sw600dp-hdpi values-sw600dp-port-hdpi values-sw600dp-mdpi values-sw600dp-port-mdpi values-sw720dp-hdpi values-sw720dp-port-hdpi values-sw720dp-mdpi values-sw720dp-port-mdpi
但应用程序崩溃,因为它找不到所需的资源….
任何帮助都感激不尽
提前致谢
解决方法
>手机(手机)
>小片(7“类)
>大片(10“及以上).
Android 3.2之前的限定符:
谷歌首次尝试创建用于按设备分离资源的限定符是为了创建一些大小的存储桶:小型,普通型,大型,xlarge.最初,这很好,因为手机设备属于小型/普通类,市场上的前7“平板电脑都很大,前10个平板电脑都是大型的.
Android 3.2及更高版本的限定符:
然而,随着越来越多的设备开始出现在市场上,新的屏幕尺寸和线条开始模糊设备可能出现在哪里.在Android 3.2中以新的限定符的形式呈现了该问题的新解决方案,以基于设备当前宽度/高度或“最小”宽度来选择资源;后者是通过用屏幕最短边的宽度(与密度无关的像素或dp)表示设备尺寸的新名称.
使用新的范例,将小型平板电脑定义为最小宽度为600dp,大型平板电脑定义为720dp,手机是低于该线路的一切,这已经很普遍.
当最小支持低于3.2且目标高于或等于3.2时使用限定符
对于针对Android 3.2或更高版本的应用程序,此新系统运行良好.但是,如果希望创建在手机和平板电脑上运行通用的应用程序的开发人员被迫支持最低Android版本不高于2.2,或者最多2.3,那么在这种情况下,在旧版本的目录中创建每个资源的重复项限定符并将其放在另一个具有相应最小宽度限定符的目录中.
例如.将values.xml文件保存在values-large和values-sw600dp中.因此,在低于3.2的Android版本上运行的设备将从值大的值获取值,并且在Android版本上运行的设备高于或等于3.2将从值-sw600dp获取值