我创建了一个启动画面,但是当我启动我的应用程序时,启动画面不显示,只是黑屏。然而,在我的启动画面计时器结束后,我的菜单出现了。在我的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
答案 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
祝你的应用好运!