根据屏幕尺寸调整您的图片大小?

3
我注意到每当我在我的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.4英寸FWVGA和10.1 WXGA”上却不行。

像我之前说过的那样,使用不同大小的布局可以解决问题,但我真的需要为每一个布局创建一份副本并修改图片大小吗?有没有其他方法来解决这个问题?

1个回答

4
不需要手动重新调整大小并添加“drawable-hdpi,drawable-ldpi,drawable-mdpi”,这将增加您的APK文件大小。相反,请仅使用一个高分辨率图像并将其放入“drawable-nodpi”或“drawable”或drawable-hdpi中。在所有设备上测试它。它应该正常工作。 提示:将适合10.1 WXGA的图像自动调整大小,较小的屏幕看起来也不错。
编辑:创建宽高比为3:4:6:8的图像。

例如:如果您有一个宽度为120px,高度为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的两倍)
确保所有图像都具有良好的质量,即使它们具有不同的尺寸。
参考: 如何支持多个屏幕

我在我的布局中放置的图像大小为400x300,这是我的图像的实际大小。我应该也更改它吗?还是只使用wrap_content? - Leon
将其缩放至3-4倍,即添加1200x900的图像,此图像应具有良好的质量。较小尺寸的屏幕将自动缩放到其屏幕尺寸,最好只在/drawable-hdpi中添加一个1200x900的图像。 - VenomVendor
好的,缩小的图像在所有设备上看起来好不好并没有保证。这完全取决于图像的使用和显示方式。最好为不同的屏幕尺寸/密度创建模拟器,并查看是否可以。此外,如果图像非常大,则调整大小操作可能会降低应用程序性能。 - Anton
我有同样的问题,在5.1 WVGA,5.4英寸FWVGA设备上无法显示图像,你是如何解决这个问题的@Leon - Juned

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接