使用图像进行多分辨率

问题描述:

我想知道是否有使用一组图像的所有决议的方式。我有一个应用程序,我想在所有android分辨率上移植它,但我不想为每个分辨率类别存储3组图像。尽可能少使用图像的最佳做法是什么?使用图像进行多分辨率

谢谢!

+0

这一切都依赖。如果你正在制作游戏,你可以设置缩放比例,并且整个游戏画面会延伸。但取决于滤波器类型,它会是块状或模糊的。毕竟,我建议你制作多个分辨率的图像。如果你不能确定使用何种决议,看看这个指南:http://bigosaur.com/blog/31-android-resolutions-definite-answer – 2014-10-02 22:45:42

当然,您可以只提供一组图像,在基地drawable目录中,Android会根据需要自动调整大小。

这可能会导致锯齿和图像不清晰,如果您要提供正确尺寸的图像,将不可能清晰。

+0

你知道这是怎么工作与PhoneGap的?我有一个像资产/ www /图像等文件夹structere。目前图像是100px X 100像素,例如在nexus 7他们太小。 – Sami 2012-07-22 21:32:10

+0

自动调整大小只适用于常规Android应用程序中的res /而非assets /;它似乎也是一样的电话... – 2012-07-24 05:44:22

+0

感谢您的信息。 – Sami 2012-07-24 15:42:52

你大概的意思密度,不分辨率(在Android中,应用程序不直接与分辨率下工作)。

其实,你并不需要支持所有3层的密度。来自developer.android.com的报价:

此预缩放机制独立于源而工作。例如,针对高密度屏幕的应用程序可能只有res/drawable-hdpi /目录中才有位图。如果其中一个位图是240x240图标,并且在中等密度屏幕上加载,则生成的位图将测量为160x160。

我做了简单的测试:删除了ldpi和mdpi密度图像,在mdpi皮肤上启动了我的应用程序,并很好地缩放了hdpi图像。这不是最好的做法,但是android的预缩放就像描述的那样。

有关更多详细信息,请参阅this

+1

假设我需要用图像填充全屏应用背景。我对所有可能的分辨率有不同的图像(240x320 ... 480x854)。在这种情况下我怎么能考虑密度?大,正常和小限定符都不够,因为240x400和240x432都被认为是正常的。 到目前为止,我想手动为当前分辨率加载相应的背景。 – southerton 2010-10-25 15:19:51

+0

这可能是值得单独的问题:)。它有点不清楚为什么你需要240x400和240x432不同的背景。如果您将240x432图像放在drawable-ldpi中(并将其作为您的根视图的fill_parent背景),则会自动将其缩放到240x400。但是,如果不同的背景真的需要 - 我不知道这样做的陈述方式。我认为Android的API设计师为此包装了分辨率(以尺寸和密度)。 – Ralkie 2010-10-25 16:34:51

+0

我知道我必须在所有3个密度文件夹中放置特定的图像,才能在所有密度下看起来不错。将所有图像放在一个文件夹中并在运行时与基线配置成比例缩放比较好,但要保持相同的宽高比。这可能吗? – Gratzi 2010-10-26 11:45:33

我写了一个工具,它使这一切成为了很多更易于管理。尽管图像存储在不同的目录中 - 该工具一起显示所有分辨率,并可让您自动从一个扩展到另一个。

Main screen

,你可以在这里:http://hobbyistsoftware.com/AndroidImageViewer