【问题标题】:Android correct smallest width qualifierAndroid正确的最小宽度限定符
【发布时间】:2019-02-21 01:55:40
【问题描述】:

这是我在 sw 预选赛中的第一次尝试,但我似乎没有达到目标。对此,我看到了很多关于如何正确计算所需内容的方向,并且通过反复试验,我又回到了错误中。

我想做的是为不超过一定大小的所有设备定义布局(端口和土地)。超过该尺寸使用单独的布局(港口和陆地)。

我拥有的 2 个设备可以识别沙中的线:

4.7” 720x1280 (quantized density 300)
4.3" WVGA 480 x 800 (quantized density 240)

我想做的是使用某种布局

【问题讨论】:

  • 我通过在我的活动中添加一个方法来实现这一点,该方法将记录 dp 高度和宽度stackoverflow.com/questions/30869168/… 在两个设备上运行后,我拥有正确设置 sw 限定符所需的指标,但是必须有一个更简单的关于这个的方式。当我没有设备时会发生什么?
  • res/layout/ 和 res/layout-land 包含较小密度设备的布局, res/layout-sw384dp/ 和 layout-384dp-land/ 包含较大密度设备的布局。这似乎按预期工作。

标签: android android-layout layout qualifiers android-resource-qualifiers


【解决方案1】:

根据我的经验,有一些一致的“桶”用于最小宽度值。这些是

  • 默认:用于一切
  • sw360dp:不包括最小的手机(有时 320 甚至 240 dp 宽)
  • sw411dp:区分宽屏旗舰手机和窄屏手机
  • sw533dp:平板电脑略小(想想原来的 Kindle Fire)
  • sw600dp:标准七寸平板
  • sw720dp:标准十英寸平板

没有强硬的路线。很可能一部手机的最小宽度为 399dp,而另一部手机的最小宽度为 401dp;你只需要做出判断。

我建议不要从“如何区分这两种设备?”的角度来考虑它。而是从“什么时候我有足够的空间来改变我的布局?”的角度来看。也许一旦您至少有 400dp 可以使用,您就可以更改布局以包含更多功能。或者,您可能需要 517dp 才能获得额外的内容。当您以这种方式考虑时,那么任何给定设备 碰巧落入其中的任何桶,它的布局看起来都像是为那个屏幕尺寸。

还有一些在线资源可以提供大量设备的规格;也许您可以使用这些来确定要在哪里画线。例如:https://material.io/tools/devices/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-11
    • 1970-01-01
    • 2020-11-23
    • 1970-01-01
    • 2015-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多