【问题标题】:Android layouts - Would it be reasonable to create more Layout Folders than sw320, sw480 sw600 sw720 sizes?Android 布局 - 创建比 sw320、sw480 sw600 sw720 尺寸更多的布局文件夹是否合理?
【发布时间】:2016-12-27 13:13:33
【问题描述】:

为了在Android App中支持不同的屏幕尺寸,我创建了不同的布局版本:sw320、sw480 sw600 sw720

但我注意到许多移动智能手机采用 sw320 的版本,但它们代表页面的方式不同。

例如在以下设备上运行时: Nexus One 和 三星盖乐世 s7 两者都使用(出于某种原因)sw320,为什么?

是否可以在代码中添加更多布局版本?

【问题讨论】:

  • 资源文件夹的名称是什么?
  • 布局-sw320dp,布局-sw480dp,布局-sw600dp,布局-sw720dp

标签: android layout android-screen-support android-resolution


【解决方案1】:

Nexus One 和三星 Galaxy s7 都(出于某种原因)采用 sw320,这是为什么呢?

Nexus One 是一款hdpi 设备,屏幕分辨率为 800 x 480 像素。它的最短宽度是480像素,也就是320dp。

三星 Galaxy S7 应该是xxxhdpi 设备,其屏幕分辨率为 2560 x 1440。其最短宽度为 1440 像素,即 360dp。

因此,考虑到您的其他存储桶,这两个设备都属于您的 -sw320dp 存储桶。

向代码添加更多布局版本是否合理?

恕我直言,你应该有更少的版本,而不是更多。您应该使用更流畅的布局,并且可以适应屏幕尺寸的微小变化。完全不同的布局资源应该保留在需要对 UI 进行重大更改的情况下(例如,手机和平板电脑之间的经典主/细节模式实现)。

【讨论】:

  • 您好,感谢您的回答,根据我的搜索 - 三星 Galaxy 有 576 dpi - 所以它应该使用 sw480 版本,请看这里:dpi.lv
  • @YuvalLevy:资源集限定符的确定是基于制造商如何配置设备,而不是严格按照屏幕密度。从资源的角度来看,没有 576 dpi 的密度。三星最有可能的选择是xxhdpi (~480 dpi) 和xxxhdpi (~640 dpi)。根据Google's device info site 的说法,Galaxy S6 的屏幕特性与 S7 相同,而 S6 是xxxhdpi 设备。
  • 谢谢!看起来使用 ldpi mdpi hdpi xhdpi xxhdpi xxxhdpi 代替 ow the sw<...>dp 会更舒服
  • @YuvalLevy:这些并不真正相关。 ldpi 和 kin 是密度。您将它们用于drawablemipmap 资源,但仅此而已。 swNNNdp 是尺寸(最小宽度)。它们碰巧以与密度无关的像素而不是硬件像素来衡量,就像 CSS 像素是与密度无关的像素一样。
  • @Redman:对于-swNNNdpNNN的值可以是任意值,只要是正整数即可。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-31
  • 1970-01-01
  • 2016-03-30
  • 1970-01-01
  • 2022-01-05
相关资源
最近更新 更多