android eclipse启动画面图像没有显示

时间:2011-12-11 10:53:01

标签: android eclipse splash-screen

我创建了一个启动画面,但是当我启动我的应用程序时,启动画面不显示,只是黑屏。然而,在我的启动画面计时器结束后,我的菜单出现了。在我的splashscreen.xml的图形布局中,启动屏幕图像显示。但是当跑步时,它没有。一切都很正常,除了我的闪屏...

myMain.java的代码:

package com.immrroj.firstapp;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;

public class myMain extends Activity
{

@Override
protected void onCreate(Bundle savedInstanceState)
{
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.splashscreen);
    Thread splashtimer = new Thread()
    {
        @Override
        public void run()
        {
            try
            {
                int timer = 0;
                while (timer < 5000)
                {
                    sleep(100);
                    timer = timer + 100;
                }
                startActivity(new Intent("com.immrroj.firstapp.CLEARSCREEN"));
            } catch (InterruptedException e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            finally
            {
                finish();
            }
        }
    };
    splashtimer.run();
}

@Override
protected void onDestroy()
{
    // TODO Auto-generated method stub
    super.onDestroy();
}

@Override
protected void onResume()
{
    // TODO Auto-generated method stub
    super.onResume();
}

@Override
protected void onStart()
{
    // TODO Auto-generated method stub
    super.onStart();
}

@Override
protected void onStop()
{
    // TODO Auto-generated method stub
    super.onStop();
}

}

myMenu.java的代码

package com.immrroj.firstapp;

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

public class myMenu extends Activity
{

@Override
protected void onCreate(Bundle savedInstanceState)
{
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
}

}

我的main.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:orientation="vertical" 
android:background="@drawable/mymenu">

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="PRESS ME!!"
    android:textSize="19dp"
    android:textStyle="bold"
    android:width="200dp" android:layout_gravity="right"/>

 <Button
     android:id="@+id/button1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="PRESS ME TOO!" 
     android:gravity="center" 
     android:textSize="19dp" 
     android:textStyle="bold" android:width="200dp" android:layout_gravity="right"/>

</LinearLayout>
我的splashscreen.xml的代码....图片androidsplash没有显示

<?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:orientation="vertical" >

<ImageView
    android:src="@drawable/androidsplash"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    />

</LinearLayout>

我的android清单的代码:

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

<uses-sdk android:minSdkVersion="10" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:label="@string/app_name"
        android:name=".myMain" >
        <intent-filter >
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
     <activity
        android:label="@string/app_name"
        android:name=".myMenu" >
        <intent-filter >
            <action android:name="com.immrroj.firstapp.CLEARSCREEN" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
</application>

</manifest>

请帮助......尽管我可以继续,但这真的让我烦恼....

更新: 好吧...我觉得很难解决这个问题而没有动手代码......所以我发布这个链接所以任何人都可以看到代码并修补它...请帮助我...我想知道android但是即时通讯卡在这里....在这里下载源代码,我发誓:https://skydrive.live.com/redir.aspx?cid=79ecba5b079a1b4c&resid=79ECBA5B079A1B4C!293&parid=79ECBA5B079A1B4C!113&authkey=!AK8-cta_tThQUms

1 个答案:

答案 0 :(得分:1)

知道了。

下载.rar并试一试。事实证明你的Thread有问题。我不确切知道是什么,但它导致布局没有被正确加载(可能是因为你让它睡了100毫秒,然后醒来,检查一个变量,并反复再次睡眠100毫秒)。 / p>

我使用以下代码更改了您的主题,现在它在我的手机上完美运行:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.splashscreen);

        Thread timer = new Thread() {
            // Thread to show the splash screen, then launch the main screen
            @Override
            public void run() {
                try {
                    sleep(2500); // set this to how long you want to wait before
                                    // showing the main screen
                } catch (InterruptedException e) {
                    e.printStackTrace();
                } finally {
                    Intent mainScreen = new Intent(
                            "com.immrroj.firstapp.CLEARSCREEN");
                    startActivity(mainScreen);
                }
            }
        };
        timer.start();
    }

您可以将所有其他onStart, onPause etc方法保留在外,不管怎样,您都不会在启动画面中使用这些方法。

我在这里上传了编辑过的代码:Download

祝你的应用好运!