【问题标题】:Android maintain same proportion for all different screen sizes and resolutionAndroid 对所有不同的屏幕尺寸和分辨率保持相同的比例
【发布时间】:2023-03-19 00:57:01
【问题描述】:

我希望我的应用程序组件查看缩放机制。意味着图像尺寸必须与屏幕尺寸成比例。

我知道要使用 4 个不同的可绘制文件夹。

将 hdpi 视为基础 (480 x 800) 比率将是:

mdpi 66.66% 高清 100% xhdpi 133.33%

但是根据上述比例的 xhdpi 大小是 640 x 1060。 但是三星s3的屏幕尺寸是720 x 1280

假设如果我在 hdpi 中有 100 x 100 的图像,在 xhdpi 中有 133 x 133 的图像

但在应用上述规则后,三星 s3 中的图像看起来与屏幕尺寸不成比例,因为图像尺寸基于 xhdpi (133 x 133)。

在具有 480 x 854 屏幕尺寸的 hdpi 中存在同样的问题。假设我必须在屏幕上显示图像,如何填补 54 px 的间隙?因为我们的图像基于 hdpi 文件夹中的 480 x 800。

所以我的问题是,我们如何才能为更小的屏幕尺寸获得更小的图像,为更大的屏幕尺寸获得更大的图像,以便所有布局和图像看起来与屏幕尺寸成比例?

【问题讨论】:

  • 您可能会发现这很有用:android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html 您可以通过它运行您的图像,它会输出一个 .zip 文件,其中包含针对每种不同显示密度缩放的图像。
  • 做一件简单的事情就是不要保留所有尺寸的图像。只需将最大分辨率的图像保留在“drawable”文件夹中并设置 imageview 属性 android:adjustViewbounds="true"。此属性会将您的图像比例缩放为屏幕分辨率和大小。这样做的另一个好处是,您的应用程序大小将通过保留最大分辨率的单个图像而不是保留所有大小的图像来减小。

标签: android resources screen-resolution screen-size


【解决方案1】:

如果你不妥协,即使屏幕上的像素更少,那么它是你使用的理想选择

layout-sw720dp folder for Samsung S3

official documentation提供更多信息

以下是一些常用的屏幕宽度

res/layout/main_activity.xml # For handsets (smaller than 600dp available width)
res/layout-sw600dp/main_activity.xml # For 7” tablets (600dp wide and bigger)
res/layout-sw720dp/main_activity.xml # For 10” tablets (720dp wide and bigger)

并使您的可绘制文件夹如下所示

xhdpi: 720x1280

large-hdpi: 640x960

hdpi: 480x640

mdpi: 320x480

ldpi: 240x320

【讨论】:

  • 感谢发帖。但我认为对于 xhdpi,我们不能使用 720 x 1280,因为它不符合多屏幕尺寸规则。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-06
  • 2013-09-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-12
  • 1970-01-01
相关资源
最近更新 更多