如何在android中创建通用Splashscreen

时间:2011-07-19 06:15:16

标签: android

我正在sdk2.1中创建一个android应用程序。我已经在三种类型的可绘制文件夹中放置3个不同的图像以支持不同的分辨率,也支持不同的屏幕尺寸我必须创建不同的布局,例如布局 - 小,布局 - 大等。如果我使用fill_parent然后我的启动画面看起来模糊有些情况就是为什么我使用了wrap_content。如何在android中创建通用的Splashscreen,它可以在所有类型的分辨率和所有类型的屏幕尺寸中使用。

MyApp.java

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;

public class MyApp extends Activity{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        this.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.splash);
    }

}

splash.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:background="@drawable/spash_screen_image">
</LinearLayout>

清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.sunil.spinner"
      android:versionCode="1"
      android:versionName="1.0">


    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".MyApp" android:screenOrientation="portrait"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
</manifest>

2 个答案:

答案 0 :(得分:0)

drawable-hdpi,-mdpi和-ldpi不会转换为分辨率。它们转换为高,中,低点/英寸或像素密度。检查您的DPI并相应地使用图像。

布局/ GUI编辑器是你最好的朋友。尝试更改各种屏幕尺寸,并查看为每种配置选择的图像。您可以从那里为特定配置生成单独的布局文件。

答案 1 :(得分:0)

创建不同的可绘制文件夹并放置不同分辨率的图像,但名称将相同

创建XML,如下所示

<强> splash.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    android:background="@drawable/spash_screen_image"
    >
    <ImageView android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/spash_screen_image"
    />
</LinearLayout>