某些设备不符合标准可绘制 Android 比率
Some devices don't match standard drawable Android ratios
在我们的一个应用程序中,在加载应用程序数据期间出现启动画面。客户已交付应显示在启动画面中的图像 activity。总共 6 张图片,用于 6 种可绘制尺寸:
- ldpi (240x320)
- mdpi (320x480)
- 高清像素 (480x800)
- xdpi (640x960)
- xxdpi (960x1440)
- xxxdpi (1280-1920)
问题是某些设备超出了这些比率。例如,三星 Galaxy S4 及其 'Active' 型号的屏幕尺寸均为 1080x1920,介于这些比例之间,因此会挤压图像以适应视图,如屏幕截图中水平挤压图像所示。
我能做什么?我可以在这 6 个可绘制对象之外的何处放置 1080x1920 图像?
Galaxy S4 (1080×1920) 采用 xxhdpi 可绘制对象。屏幕纵横比为 9:16,但给定的可绘制对象为 2:3,因此拉伸。
我们有数百种不同的屏幕分辨率,因此您无法真正满足所有这些分辨率。
我能想到:
- 像您已经做的那样拉伸可绘制对象失去原始纵横比,
- cropping/shrinking 具有不同
ScaleType
的可绘制对象(FIT_XY
在 ImageView
中默认)可能看起来很丑,
- 如果两个选项都不可接受,则使用
nine-patch
。
对于选项 #2,您可以选择 ScaleType.CENTER_INSIDE
并设置一个带有绿色的简单背景。
在我们的一个应用程序中,在加载应用程序数据期间出现启动画面。客户已交付应显示在启动画面中的图像 activity。总共 6 张图片,用于 6 种可绘制尺寸:
- ldpi (240x320)
- mdpi (320x480)
- 高清像素 (480x800)
- xdpi (640x960)
- xxdpi (960x1440)
- xxxdpi (1280-1920)
问题是某些设备超出了这些比率。例如,三星 Galaxy S4 及其 'Active' 型号的屏幕尺寸均为 1080x1920,介于这些比例之间,因此会挤压图像以适应视图,如屏幕截图中水平挤压图像所示。
我能做什么?我可以在这 6 个可绘制对象之外的何处放置 1080x1920 图像?
Galaxy S4 (1080×1920) 采用 xxhdpi 可绘制对象。屏幕纵横比为 9:16,但给定的可绘制对象为 2:3,因此拉伸。
我们有数百种不同的屏幕分辨率,因此您无法真正满足所有这些分辨率。
我能想到:
- 像您已经做的那样拉伸可绘制对象失去原始纵横比,
- cropping/shrinking 具有不同
ScaleType
的可绘制对象(FIT_XY
在ImageView
中默认)可能看起来很丑, - 如果两个选项都不可接受,则使用
nine-patch
。
对于选项 #2,您可以选择 ScaleType.CENTER_INSIDE
并设置一个带有绿色的简单背景。