在Android中,启动画面应该保持什么样的图片尺寸?

3
我已经在Android上开发了一个应用程序,并设计了一张大小为320x480的启动画面。我希望只在手机上运行这个应用程序。但是当我在模拟器上运行我的应用程序时,图片被拉伸了,看起来不好看。我已经阅读了开发者文档,但它并没有给我足够的帮助。所以,我想知道应该定义什么尺寸才能使启动画面看起来像设计的那样,而且图片不会被拉伸。
我的XML文件...
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:layout_gravity="center"
   android:background="@drawable/screenbackground"
   android:gravity="bottom"
   android:orientation="vertical" >

   <ProgressBar
       android:id="@+id/progressBar1"
       style="?android:attr/progressBarStyleLarge"
       android:layout_width="20dp"
       android:layout_height="20dp"
       android:layout_centerHorizontal="true"
       android:layout_marginTop="10dp" >
   </ProgressBar>

   <TextView
       android:id="@+id/textView1"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_below="@+id/progressBar1"
       android:layout_centerHorizontal="true"
       android:layout_marginTop="8dp"
       android:text="@string/loaddata"
       android:textAppearance="?android:attr/textAppearanceMedium"
       android:textColor="#ffffff" >
   </TextView>
</RelativeLayout>

请给我一些建议、链接或资源。谢谢。
5个回答

2

Android

Format

9-Patch PNG (recommended)

尺寸

LDPI:
Portrait: 200x320px
Landscape: 320x200px
MDPI:
Portrait: 320x480px
Landscape: 480x320px
HDPI:
Portrait: 480x800px
Landscape: 800x480px
XHDPI:
Portrait: 720px1280px
Landscape: 1280x720px

终于找到了xhdpi 720px1280px正确的启动画面尺寸!!谢谢。其他所有网站,包括Android官方都显示540x960,但不适合屏幕。 - Jon

1
我知道这是一篇旧文章,但是如果其他人也看到了这篇文章,我觉得回答还需要稍微修改一下。以下帖子提供了关于不同屏幕尺寸的启动画面图片分辨率的详细信息: android splash screen sizes for ldpi,mdpi, hdpi, xhdpi displays ? - eg : 1024X768 pixels for ldpi 对于像我这样比较懒的开发者,我会提供谷歌提供的最小屏幕尺寸值(所有值都以像素为单位)。这些值可以在Google's dashboard上有关设备相对大小的统计数据中找到。

安卓移动设备:

LDPI- 426x320

MDPI- 470x320

HDPI- 640x480

XHDPI- 960x720


安卓平板设备:

LDPI- 200x320

MDPI- 320x480

HDPI- 480x800

XHDPI- 720px1280px


当然,对于可拉伸的图片,建议使用9 Patch images

0

它需要为不同的屏幕准备不同的图片尺寸

默认模拟器需要 480*800 尺寸的图片

查看此链接 android-splash-screens


那么对于设备来说,我应该定义什么样的尺寸呢?假设设备的物理尺寸在3.5-4.0英寸之间,支持的分辨率为320x480... - Laxman Rana
你能发送你的图像以及你是如何测试的吗?(在模拟器还是手机上) - RajaReddy PolamReddy

0

尝试在XML布局中设置视图的大小,或在Java文件中以编程方式进行设置。您应该能够按照您想要的方式调整其大小。您还可以确保图像本身周围没有太多的“空白空间”。


我已将我的布局宽度和高度设置为图像大小(320x480)。但它仍会拉伸图像.... - Laxman Rana
1
尝试使用android:layout_width="wrap_content" android:layout_height="wrap_content",因为我认为将布局宽度和高度设置为与图像大小相同的值并不合适,因为不同手机具有不同的屏幕尺寸和分辨率。此外,布局宽度和高度使用dp或px,而Android更喜欢使用dp。 - Kurty
我在布局中使用了dp来设置大小...但是我的图片是以px为单位的,这会造成任何问题吗? - Laxman Rana

0

您应该支持在不同尺寸内的启动画面图片,并保存到相应的资源文件夹中。 例如,以下是一个应用程序中的资源目录列表,为不同屏幕尺寸提供不同的布局设计和中等、高密度和超高密度屏幕的不同位图可绘制项。

res/layout/my_layout.xml             // layout for normal screen size ("default")
res/layout-small/my_layout.xml       // layout for small screen size
res/layout-large/my_layout.xml       // layout for large screen size
res/layout-xlarge/my_layout.xml      // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation

res/drawable-mdpi/my_icon.png        // bitmap for medium density
res/drawable-hdpi/my_icon.png        // bitmap for high density
res/drawable-xhdpi/my_icon.png       // bitmap for extra high density

请阅读本教程获取详细信息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接