问题描述
|
我正在编写一个需要在启动时显示全屏启动画面图像的应用程序。实际上,并不是完全全屏显示,因为状态栏仍然可见。
此应用程序将在各种手机上运行(例如,从Wildfire到Sensation),但不能在平板电脑上运行。不过,如果可以毫不费力地使它在平板电脑上看起来不错,我当然会这样做。
问题是-如何确保该初始屏幕看起来不错并且可以在所有设备上填充整个屏幕?它的各个侧面都有可拉伸的部分,因此如有必要,我可以将其制作成9个补丁,但是我仍然对应该使用的像素大小感到困惑。
我确定需要为(小|大)-(ldpi | mdpi | hdpi)提供图像。这些图像的像素大小应该是多少?如何计算?
解决方法
我已经在多个应用程序中做到了,我制作了一个480x800px的图像,然后进行了图像查看或linearlayout,并在宽度和高度中为其赋予fill_parent属性。在所有类型的屏幕上均能完美运行
[编辑]还有一点,只需将该图像添加到hdpi文件夹中即可。
, 对于您的xml中的启动画面
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"
android:orientation=\"vertical\"
android:layout_width=\"fill_parent\"
android:layout_height=\"fill_parent\">
<ImageView
android:layout_width=\"fill_parent\"
android:layout_height=\"fill_parent\"
android:scaleType=\"fitXY\"
android:src=\"@drawable/splash\"/>
</LinearLayout>
并在您的AndroidManifest.xml中
<activity android:name=\".Splash\" android:theme=\"@android:style/Theme.NoTitleBar\">
<intent-filter>
<action android:name=\"android.intent.action.MAIN\" />
<category android:name=\"android.intent.category.LAUNCHER\" />
</intent-filter>
</activity>
Theme.NoTitleBar还将从初始屏幕中删除标题栏
对于初始屏幕图像,请使用以下尺寸的图像:
正如我在某处阅读然后使用
对于肖像:600 x 1024像素
对于风景:1024 x 600像素
我在我的应用中使用了这些尺寸,并在每个版本的Android 1.6至2.3版本中对它们进行了测试,图像的分辨率看起来非常出色
, 最后,我发现如果提供hdpi图像,它将自动缩小以降低dpi。因此,为了避免复杂性,我创建了一个800x800的图像,并带有可裁剪的侧面并使用了它。