根据屏幕尺寸调整图像大小?

Posted

技术标签:

【中文标题】根据屏幕尺寸调整图像大小?【英文标题】:Resize your image according to screen sizes? 【发布时间】:2012-01-27 10:02:28 【问题描述】:

我注意到,每当我在 Droid X 和 Droid Bionic 上测试我的应用时,图像实际上都很好。但每当我在更大的设备(如 android 平板电脑)上测试它时。图片有点拉长。

我对以下信息也有疑问,我尝试制作 4 个“my_layout.xml”副本并将其存储在“layout,layout-small,layout-xlarge,layout-xlarge-land”文件夹中。它们中的每一个都包含不同大小的图像。那个完成了工作,它们在任何尺寸的屏幕设备中都看起来不错。但我的问题是,我有 300 个或更多包含相同图像的布局,这是否意味着我必须为每个布局创建一个副本并修改图像大小?有没有其他方法可以解决这个问题?

res/layout/my_layout.xml             // layout for normal screen size ("default")
res/layout-small/my_layout.xml       // layout for small screen size
res/layout-large/my_layout.xml       // layout for large screen size
res/layout-xlarge/my_layout.xml      // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation

我还尝试制作不同尺寸的图像并将其存储在“drawable-hdpi、drawable-ldpi、drawable-mdpi”中它们在所有屏幕设备中看起来都很好,除了“5.1 WVGA、5.4in FWVGA 和 10.1 WXGA"

就像我之前说的,制作不同尺寸的不同布局可以解决问题,但我真的必须为每个布局创建一个副本并修改图像大小吗?有没有其他方法可以解决这个问题?

【问题讨论】:

【参考方案1】:

您无需手动调整大小并添加“drawable-hdpi,drawable-ldpi,drawable-mdpi”这将增加您的 APK 的大小,而是只使用一张高分辨率图像并将其放入“drawable-nodpi”或只是在“drawable”或drawable-hdpi中。在所有设备上进行测试。它应该可以正常工作。 提示:把好看的图片放到 10.1 WXGA 中,自动降低尺寸的屏幕好看。

编辑: 创建比例 3:4:6:8 例如:如果您有 宽度的图像: 120pxHeight:90px 对于低分辨率设备(drawable-ldpi),那么对于 drawable-mdpi 是 3:4 (120x4/3) = 160 drawable-mdpi 图片尺寸应为 W:160px , H:120px drawable-hdpi 图片尺寸应为 W:240px , H:180px(两倍 ldpi) drawable-xhdpi 图片尺寸应为 W:320px , H:240px(mdpi 的两倍)

确保您的所有图片质量良好,即使尺寸不同。

参考:How to Support Multiple Screens

【讨论】:

我在布局上放置的图像尺寸是 400 x 300,这是我的图像的实际尺寸。我也应该改变它吗?还是只使用 wrap_content? 缩放到3-4倍,即添加1200x900的图片,这个图片应该质量很好。较小尺寸的屏幕会自动缩放到其屏幕尺寸,最好在 /drawable-hdpi 中仅添加一张 1200x900 的图像 嗯,不能保证缩小后的图像在所有设备上都很好看。这完全取决于如何使用和显示此图像。最好为不同的屏幕尺寸/密度创建模拟器,看看是否可以。此外,如果图像非常大,调整大小操作可能会降低应用性能 我有同样的问题,图片没有显示在5.1 WVGA, 5.4in FWVGA 设备中,你是如何解决这个问题的@Leon

以上是关于根据屏幕尺寸调整图像大小?的主要内容,如果未能解决你的问题,请参考以下文章

如何让图像响应屏幕尺寸但不逐渐缩小?

调整图像大小而不损失不同屏幕尺寸的质量。最好的方法是啥?

调整按钮以适应不同的屏幕尺寸

我可以使用情节提要根据屏幕尺寸调整静态表格视图的大小吗?

如何创建可根据不同手机尺寸调整大小的响应式图像?

如何根据屏幕尺寸调整颤振小部件的大小?