正确定义 dimens.xml 以支持 Android 移动和平板设备

Iro*_*Man 1 xml mobile android tablet dimension

我在 Play 商店中有一个可以在所有手机上运行的应用程序,现在我也想在平板电脑上发布它。

1) 图像是为 xhdpi 屏幕设计的。所以我认为这也足以支持平板电脑,还是应该为平板电脑单独重新设计图像?

2)我想将 dimens.xml 分成 3 个类别 -

  • dimens.xml 适用于所有手机
  • dimens.xml 适用于所有 7 英寸平板电脑
  • dimens.xml 适用于所有 10 英寸平板电脑

我想出的解决方案是像下面这样划分 values 文件夹 -

  • 值/尺寸.xml
  • 值-sw620dp/dimens.xml
  • 值-sw720dp/dimens.xml

但是由于很少有手机可能属于values-sw620dp/dimens.xml或values-sw720dp/dimens.xml,那么将dimens.xml分为3类的合适方法是什么?

请不要发布下面的图片,因为我想分为 3 类 以下是许多人回答的结构

许多人回答的结构

小智 5

1)市场上没有比xhdpi密度更高的平板设备。因此,xhdpi 图像足以支持平板电脑

2)按如下方式划分值文件夹会有所帮助

    - values\dimens.xml
    - values-land\dimens.xml
    - values-sw600dp\dimens.xml
    - values-sw600dp-land\dimens.xml
    - values-sw720dp\dimens.xml
    - values-sw720dp-land\dimens.xml
Run Code Online (Sandbox Code Playgroud)

后缀 -land 用于景观定位。

手机不属于 sw600dp 或 sw720dp 类别。我认为您对 dp 和 px 感到困惑。

例子:

以三星 Galaxy S7 Edge 为例。

分辨率:1440 x 2560px

密度:xxxhdpi

以 xxxhdpi 密度将 1440px 转换为 dp,您将获得 320dp(将 px 转换为 dp

因此,三星 Galaxy S7 edge 的 dp 宽度为 320dp,将落在 values\dimens.xml 文件中

如果你拿一个 Tab 并类似地找到 dp,你会注意到 dp 将大于或等于 600dp。