我的Android启动屏幕的分辨率应该是多少?
我正在创建一个启动屏幕,它将在我的Android应用程序加载时显示。我想以正确的大小创建它,这样Android就不会自动放大或缩小它以适应屏幕。(这是一幅位图图像,一幅油画的照片,所以我不能把它变成一幅九块的画。) 但我至少关心三种重要的屏幕尺寸:320x480、480x854(Droid)和480x800(NexusOne) 我已经阅读了上的文档,但我仍然不知道应该如何为Droid/NexusOne配置不同的启动屏幕(就Android而言,它们都是“hdpi”资源),而且我不知道在任何情况下启动屏幕应该有多大。(Droid中的操作系统标题栏/菜单有多高?N1?)我的Android启动屏幕的分辨率应该是多少?,android,resolution,splash-screen,Android,Resolution,Splash Screen,我正在创建一个启动屏幕,它将在我的Android应用程序加载时显示。我想以正确的大小创建它,这样Android就不会自动放大或缩小它以适应屏幕。(这是一幅位图图像,一幅油画的照片,所以我不能把它变成一幅九块的画。) 但我至少关心三种重要的屏幕尺寸:320x480、480x854(Droid)和480x800(NexusOne) 我已经阅读了上的文档,但我仍然不知道应该如何为Droid/NexusOne配置不同的启动屏幕(就Android而言,它们都是“hdpi”资源),而且我不知道在任何情况下启
我应该制作这些图像的大小,以及如何告诉Android在给定屏幕上使用正确的大小?您不需要担心屏幕的绝对大小、状态栏或任何东西,这就是为什么我们有九个补丁图像 我所做的是有一个图像,看起来很好的每一个决议-基本上是一个透明的背景上的标志,与一些文字在底部 然后,我在顶部和侧边截取了大量空间,在图像周围制作了一个九块边界,在左、右和顶部边缘附近有一个像素。这允许图像在侧面和顶部均匀展开以填充屏幕
编辑,回应Dan的以下评论: 是的,有一种方法可以确定哪些图形应该用于哪些显式屏幕大小,但这是非常困难的 正如有
可绘制hdpi
和-ldpi
资源限定符一样,也可以使用可绘制HHXWWW
——首先是较大的像素尺寸
e、 g.
drawable-800x480
和drawable-854x480
好的,首先:您可以通过找到设备型号,并使用该型号确定要显示的图像
第二,我个人不想麻烦。布局应该在dip中完成,因为我相信每个android屏幕都是320x480 dip,并且根据我的经验,android可以很好地保持设备之间的纵横比。据我所知,用于填充父对象的480x800启动集在N1和droid上都非常可靠。我实现的另一个解决方案是使用缩放类型“centerCrop”填充屏幕(宽度和高度均为“匹配父对象”)的ImageView。这样,图像不会拉伸,而是沿边缘裁剪。尽量不要把重要的内容(徽标和类似的东西)放在边缘。如果是一张照片,我希望边缘是“可消耗的”,可以裁剪出来。为什么不创建一个300x300(或更多)的图像并将其居中?你读到了我的想法。我很想看到这个问题的答案。这是一个位图图像。居中使它看起来很奇怪。你不需要看
Build
来了解屏幕分辨率或密度。宽高比也可以在不同的设备之间变化很大;这就是为什么存在long
和notlong
资源属性的原因。无论如何,这些都不重要,因为我们有可绘制xdpi
文件夹和九个补丁图像:)返回了支持多屏幕的文档,您的观点非常好<代码>长和不长
是我完全没有注意到的问题。你能在极端情况下发布你的九块补丁解决方案的一些屏幕吗?这样我就可以感受到这种方法对于图片等飞溅物的效果了?你说“相当可靠”,但当你处理像我这样的位图图像(一幅油画的照片)时,480x800与480x854之间有明显的失真。我想定义两个资源,一个用于480x800,另一个用于480x854。这有可能吗?现在有这么多的Android机型,使用Android.os.Build来确定屏幕分辨率不是一个合理的方法。忍不住不发表评论,因为两年后这个答案很有趣;)就我而言,我的形象不是一个标志;这是一幅位图肖像画(这是一幅油画的照片)。将这幅画转换成一张九块的图片不是一个选项。如果它是这样的图片,我想你不会想拉伸它。因此,我将它缩放到每个密度的最常见分辨率,并允许它有一个透明(或其他)的边框,在那里有更多的屏幕空间。添加边框看起来很奇怪。相反,我想定义两个资源:一个用于480x800,另一个用于480x854。可能吗?