我们正在开发一个 android 应用程序,我们遇到了一个问题,即相同密度桶中的设备,即“xxhdpi”看起来并不相同,即 Pixel 和 Pixel 2。我们有一个非常重图像的 UI,并且正在使用一个约束视图来组织几个重叠图像的放置。其中一些屏幕顶部的导航抽屉进一步加剧了这个问题,因为在相同屏幕尺寸上不同密度的边距更厚,而应用程序的其余部分被挤压到一个较小的框架中。
下面是 Pixel 和 Pixel 2 渲染差异的示例: Pixel 2 vs. Pixel
我们尝试制作更具体的布局以匹配更具体的 DPI 范围,但无论我们尝试什么,模拟器都会将相同的设备组合在一起。这些是我们尝试过的布局类别,例如 sw320dp 指的是最小屏幕宽度。
有没有办法通过约束视图功能(例如约束锚或百分比约束)来解决这个问题?或者,我们可以更严格地定义我们的布局类别,或者对类似设备的 dp 比例不同做一些事情吗?我们已经查阅过此页面以及大量堆栈溢出帖子:Android 支持多种屏幕尺寸指南。
欢迎任何建议、评论或具体问题,提前感谢任何花时间阅读本文的人。