某些设备不符合标准可绘制 Android 比率

Some devices don't match standard drawable Android ratios

在我们的一个应用程序中,在加载应用程序数据期间出现启动画面。客户已交付应显示在启动画面中的图像 activity。总共 6 张图片,用于 6 种可绘制尺寸:

问题是某些设备超出了这些比率。例如,三星 Galaxy S4 及其 'Active' 型号的屏幕尺寸均为 1080x1920,介于这些比例之间,因此会挤压图像以适应视图,如屏幕截图中水平挤压图像所示。

我能做什么?我可以在这 6 个可绘制对象之外的何处放置 1080x1920 图像?

Galaxy S4 (1080×1920) 采用 xxhdpi 可绘制对象。屏幕纵横比为 9:16,但给定的可绘制对象为 2:3,因此拉伸。

我们有数百种不同的屏幕分辨率,因此您无法真正满足所有这些分辨率。

我能想到:

  1. 像您已经做的那样拉伸可绘制对象失去原始纵横比,
  2. cropping/shrinking 具有不同 ScaleType 的可绘制对象(FIT_XYImageView 中默认)可能看起来很丑,
  3. 如果两个选项都不可接受,则使用 nine-patch

对于选项 #2,您可以选择 ScaleType.CENTER_INSIDE 并设置一个带有绿色的简单背景。