在7"和10"平板电脑的values文件夹中的dimens.xml,怎么样?

jbl*_*nco 6 xml resources android dimensions

我尝试过:

values-mpdi, values-land-mpdi, values-hpdi and values-land-hdpi
Run Code Online (Sandbox Code Playgroud)

这在手机的屏幕上工作得很好,问题是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
Run Code Online (Sandbox Code Playgroud)

但应用程序崩溃,因为它找不到所需的资源....

任何帮助都感激不尽

提前致谢

Rit*_*une 17

基本上,Android应用程序需要支持三种主要设备类别:

  1. 手机(电话)
  2. 小片(7"类)
  3. 大片(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,那么在这种情况下,在旧版本的目录中创建每个资源的重复项限定符并将其放在另一个具有相应最小宽度限定符的目录中.

例如,保持相同的dimens.xml文件values-largevalues-sw600dp.因此,在低于3.2的Android版本上运行的设备将获取值,values-large并且在Android版本上运行的设备高于或等于3.2将获取来自values-sw600dp


Pad*_*mar 3

//您需要在 API 级别 3.2 及更高版本中运行它。

对于<3.2,您需要声明正常值-large 和值-xlarge