【问题标题】:android eclipse splash screen image not showingandroid eclipse启动画面图像未显示
【发布时间】:2011-12-11 10:53:01
【问题描述】:

我创建了一个启动画面,但是当我启动我的应用程序时,启动画面没有显示,只是一个黑屏。但是,在我的启动画面计时器结束后,我的菜单出现了。在我的 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

【问题讨论】:

  • 你能把TextView和一些文本放到你的splash xml布局中吗?我的猜测是它没有显示您的图像。
  • 我首先删除了图像并放置了一个文本视图......但是,在启动画面加载期间文本也没有显示...... T T

标签: android eclipse splash-screen


【解决方案1】:

知道了。

下载你的 .rar 并看看。原来你的Thread 有问题。我不知道具体是什么,但它导致布局无法正确加载(可能是因为你让它休眠了 100 毫秒,然后醒来,检查一个变量,然后一遍又一遍地再次休眠 100 毫秒)。

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

@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

祝你的应用好运!

【讨论】:

  • 如果去掉定时器,以及所有的 onStop 等方法,只留下基本的onCreatesetContentView,那还能用吗?由于它只是一个启动屏幕,因此您不需要所有其他 on... 方法。
  • 哇,这真的很奇怪。但是你说你可以在 gui 设计器中看到图像对吗?你最近有没有用不同的图像改变图像?如果是这样,请在工作区中打开应用程序的文件夹,然后删除 /bin 文件夹。之后,重建您的应用程序。由于缓存图像问题,我最近解决了同样的问题。我替换了所有图像,但我无法看到它们,它们只是没有出现在模拟器/我的手机上,但我可以在图形布局编辑器中看到它们。
  • 我最近没有更改图像...请您看一下项目...原始文件的链接发布在上面,在我的问题的末尾...不要担心,它是安全的......请看看我的代码并告诉我出了什么问题......我是新手,所以我可能在代码中放入了破坏它的东西
  • 完成。我下载了您的文件并解决了问题。我用正确的答案编辑了我的答案。祝你好运!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-15
  • 2021-12-17
  • 1970-01-01
  • 1970-01-01
  • 2022-01-07
  • 1970-01-01
相关资源
最近更新 更多