缩放/调整Android背景图片的正确方法是什么?

时间:2014-05-03 20:36:44

标签: android layout background resolution scaling

我希望有一个图像覆盖我的Android游戏的背景,但我是Android开发的新手 - 有这样的图像应该是什么文件类型的约定?

什么是传统尺寸?

将此图像缩放/重新映射到不同设备的正确方法是什么(现在我只是将图像资源添加到背面布局,但是这会缩放图像并使其扭曲)?

我打算使用Photoshop并在那里绘制图像,是否有更推荐的方法?

由于

2 个答案:

答案 0 :(得分:1)

  1. 是否存在此类图像应为的文件类型的约定?”图像可以是任何常见的文件格式。 PNG很常见,可能是因为它没有损失并且支持透明度,但我不知道细节。

  2. 什么是传统尺寸?”您必须生成各种分辨率的图像,以支持您的游戏可能使用的所有屏幕。您可以在项目树中创建看起来像res/drawable-{screen-type}的新目录,其中{screen-type}是屏幕尺寸/分辨率/最小尺寸。有关其工作原理的详细信息,请参阅Supporting Multiple Screens

  3. 将此图像缩放/重新映射到不同设备的正确方法是什么?”见#2。为避免扭曲图像,您需要生成不同尺寸/分辨率的图像以适应不同的屏幕尺寸。

  4. 关于Photoshop - 如果要制作具有复杂设计/图形的背景,您可能希望使用最熟悉的图形编辑器,例如Photoshop。但是,如果您创建的背景只是一个重复的简单模式,或者甚至只是一个实体,请考虑只生成一小部分图像,然后使用Android Shape Drawable或Nine Patch Drawable来平铺/重复/拉伸你的形象。这将减少您需要为不同屏幕生成的不同大小的图像的数量,并且还将减少应用占用的空间,因为您将拥有更少的打包资源。有关Android支持的Drawable资源的信息,请参阅Drawable Resources

答案 1 :(得分:0)

默认情况下拉伸背景drawable。如果要更改它,可以创建引用图像的XML <bitmap>可绘制资源,并将其gravity属性设置为与fill不同的内容。

如果您的图像在正确对齐的不同较小图像中分解,结果会更好。例如,主要背景颜色,顶部和底部。然后,您可以使用Layer list drawable或使用自定义布局组合不同的图层。