1

我为 S3 做了一个额外的布局(所有布局的反叛者),人们说,使用 layout-sw320dp 对 s3 有好处。一切正常,s3 选择了这个文件夹,布局在 s3 上看起来很棒。

但是当我尝试在 10 英寸平板电脑上运行我的应用程序时,平板电脑使用与 s3 相同的文件夹,这是完全错误的。

如何使 sw320dp 布局仅对 s3 可见,或者至少如何使 10" 平板电脑使用 xhdpi 文件夹?我已经读过,android 系统认为,因为 sw360 是“新”类型,它是最好的。但我不知道如何避免这种情况..

谢谢

4

1 回答 1

2

sw<???>dp这是因为Android 中限定符的优先级更高。res-sw<???>dp在预选赛中获得了第二高的优先级。

请参阅配置限定符表。这是 Android 获取资源文件夹中目录的默认顺序。所以基本上你提供的任何优先级较低的文件夹,Android 都不会接受。请参阅Android 如何找到最匹配的资源

这里sw320dp指的是最短宽度至少为 320dp 的设备。S3 和 10" 平板电脑都在此范围内。因此,Android 总是将该文件夹用于最短宽度为 320dp 的设备。

这些是您可以做的一些替代方案:

  • 为平板电脑制作像drawable-720dp(10") 和(7") 这样的布局。drawable-600dpGive 的问题sw<???>dp在于它仅在 API 13 中引入。所以 API < 13 的平板电脑不能使用它。
  • 将高密度手机的布局更改为具有较低优先级值的布局。
    • 我基本支持这种方法。通过这种方式,您可以为较低 API 设备提供更多支持。
于 2013-05-09T05:26:06.160 回答