代码之家  ›  专栏  ›  技术社区  ›  Dan Fabulich

我的Android闪屏应该是什么分辨率?

  •  30
  • Dan Fabulich  · 技术社区  · 14 年前

    我正在创建一个启动屏幕,它将在我的Android应用程序加载时显示。我想创建正确的大小,这样安卓就不会自动缩放到适合屏幕的大小。(这是一幅位图图像,一幅油画的照片,所以我不能把它变成九块。)

    但至少有三种重要的屏幕尺寸我关心:320x480、480x854(Droid)和480x800(NexusOne)。

    我已经阅读了 supporting multiple screen sizes 但我仍然不知道如何为Droid/NexusOne配置不同的启动屏幕(就Android而言,它们都是“hdpi”资源),我也不知道在任何情况下启动屏幕应该有多大。(Droid中的操作系统标题栏/菜单有多高?N1?)

    我应该用多大的尺寸制作这些图片,如何告诉Android在给定的屏幕上使用正确的尺寸?

    3 回复  |  直到 11 年前
        1
  •  32
  •   Christopher Orr    14 年前

    你不必担心屏幕的绝对大小、状态栏或其他什么——这就是为什么我们有九个补丁图片。

    我所做的就是在每种分辨率下都有一个好看的图像——基本上是一个透明背景上的徽标,底部有一些文本。

    然后我在图像的上边缘和侧边缘切掉了相当多的空间,在图像周围做了一个九个补丁边界,在左边缘、右边缘和上边缘附近有一个像素。这允许图像在侧面和顶部均匀展开以填充屏幕。


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

    是的,有一种方法可以确定哪些图形应该用于哪些明确的屏幕大小,但是 deprecated .

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

    例如 drawable-800x480 drawable-854x480

        2
  •  6
  •   jqpubliq    14 年前

    好的,首先:你可以通过 android.os.Build 然后用它来确定要显示的图像。

    第二,我个人不会麻烦。布局应该在DIP中完成,因为我相信每一个Android屏幕都是320x480 DIP,并且在我的经验中,Android在设备之间保持了很好的纵横比。据我所见,在N1和Droid上,一个480x800的喷溅设置填充父对象已经相当可靠了。

        3
  •  1
  •   Yoel Gluschnaider    11 年前

    我实现的另一个解决方案是放置一个ImageView,它用缩放类型“CenterCrop”填充屏幕(宽度和高度都是“Match_Parent”)。这样,图像就不会被拉伸,而是沿着边缘裁剪。尽量不要把重要的内容(徽标和类似的东西)放在边缘。如果这是一张照片,我希望边缘是“可消耗的”,可以裁剪出来。