【问题标题】:Image sizes recommendations图片尺寸建议
【发布时间】:2012-03-02 21:32:03
【问题描述】:

我正在编写一个显示大量图像的应用程序(目前正在使用图库,但很快就会放弃)。每个图像都占据整个屏幕,顶部的 ActionBar 除外。我的应用最终将有大约 80 个图片库。

我想为不同类型的设备(从小型手机到大型平板电脑)提供适当大小的图像。我知道我可以使用 ldpi、mdpi 和 hdpi 文件夹,但我不知道每个图像的大小。

目前我正在使用 .png 文件,但我也不确定是否应该使用 .9.png 文件,以及是否只是将 .png 更改为 .9.png 和 Android 的问题将负责缩放/倾斜。

在开发过程中,我只为我的应用提供 ldpi 和 hdpi 图像。我猜想 ldpi 为 640x680(每个大约 435k),hdpi 为 768x1024(每个大约 1.2m)。我对这些尺寸产生的实际文件大小不满意。

谁能告诉我我的图片应该是什么尺寸以及是否还有其他我应该考虑的因素?

请不要只说阅读http://developer.android.com/guide/practices/screens_support.html,因为这涉及解决方案,我无法确定这与我的问题有什么关系。

提前致谢,

标记。

【问题讨论】:

标签: android image


【解决方案1】:

使用 9-patch drawables (.9.png) 仅当您的图像可以拉伸而不会看起来很奇怪时才有用。例如,渐变可以用作 9-patch,但照片不能,因为比例会被拉伸。 Android 无法为您处理拉伸,因为您的 9-patches 必须具有拉伸/填充区域,这些区域是通过在图像周围的 1px 边框中放置黑色像素来定义的 (see here for more info)

就您的图像尺寸而言,这更复杂。例如,在手机大小的 mdpi 设备(屏幕分辨率为 480x320)上填满屏幕的图像不会在 mdpi 平板设备(屏幕分辨率为 1280x800)上填满屏幕向上。 dpi 图像限定符旨在使图像和图标在不同屏幕上具有相同的物理尺寸。

一个想法可能是将您的图像以您可以在 drawable-nodpi(或资产)文件夹中获得的最高分辨率放置。接下来以像素为单位找到显示的大小(不是与显示无关的像素),并从高度中减去操作栏的大小(大约为 48dp 或 56dp,我确信它在文档中的某处说)。然后,使用BitmapFactory 以您之前找到的显示器大小解码图像(this answer 将对此有所帮助)。但是,这可能会占用大量处理器资源,因此并不理想。或者,在服务器上保存具有特定分辨率的图像集,当您的用户第一次启动应用程序时,下载与其屏幕尺寸最匹配的图像。

【讨论】:

  • 就是这个,我会再考虑一下(可能会有一两次),看看哪个最适合我的应用。
猜你喜欢
  • 1970-01-01
  • 2014-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多