我的Android初始屏幕应该是什么样的分辨率?

我正在创build一个启animation面,在我的Android应用程序加载时显示。 我想创build它在正确的大小,所以Android不会自动扩展或缩小以适应屏幕。 (这是一幅位图图像,一幅油画的照片,所以我不能把它变成九块)。

但至less有三个重要的屏幕尺寸:320×480,480×854(Droid)和480×800(Nexus One)。

我已经阅读了关于支持多种屏幕尺寸的文档,但我仍然没有看到我应该如何为Droid / Nexusconfiguration不同的启animation面(就Android而言,它们都是“hdpi”资源) ,而且我不知道究竟我的启animation面究竟有多大。 (Droid N1中OS标题栏/菜单有多高?

我应该制作这些图像的大小,以及如何告诉Android在给定的屏幕上使用正确的大小?

Solutions Collecting From Web of "我的Android初始屏幕应该是什么样的分辨率?"

你不必担心绝对的屏幕大小或状态栏或任何东西 – 这就是为什么我们有九个补丁的图像。

我所做的是为每个解决scheme提供了一张好看的图像 – 本质上是透明背景上的徽标,底部有一些文字。

然后,我砍掉了顶部和侧边的相当多的空间,在图像周围做了九条边框,在左边,右边和顶边附近有一个像素。 这样可以使图像在侧面和顶部均匀展开,以填满屏幕。


编辑 ,以回应丹的评论如下:

是的,有一种方法可以确定哪些graphics应该用于哪些显式的屏幕尺寸,但是已经被弃用了 。

就像有drawable-hdpi-ldpi资源限定符一样,也可以使用drawable-HHHxWWW – 更大的像素尺寸首先出现。

drawable-800x480drawable-854x480

好的,首先,您可以通过android.os.Buildfind设备模型,并使用它来确定要显示哪个图像。

其次,我个人不会打扰。 由于每个Android屏幕都是320×480垂度,所以我认为应该在dip中进行布局,而android通过我的经验很好地保持设备之间的宽高比。 就我所遇到的情况而言,设置为填充父级的480×800飞溅在N1和机器人上都非常可靠。

我实现的另一个解决scheme是将缩放types为“centerCrop”的ImageView填充到屏幕上(宽度和高度均为“MATCH_PARENT”)。 这样,图像不会被拉伸,而会沿着边缘被裁剪。 尽量不要把重要的内容(标志和类似的东西)靠近边缘。 如果是照片,我希望边缘是“可消耗的”,可以被裁剪掉。