Java 启动屏幕将不显示
我正在尝试使用这个java和xml代码实现一个初始屏幕。我从我的主要活动中创建了一个单独的java类,并将java代码放在其中。我在布局文件中创建了一个xml布局,并将xml代码放在其中。但是,我的应用程序正常显示,没有启动屏幕。它从不显示,但应用程序没有任何错误。Eclipse也没有显示任何错误。这可能是什么原因?先谢谢你。这是代码 爪哇: XML: 舱单:Java 启动屏幕将不显示,java,android,eclipse,screen,splash-screen,Java,Android,Eclipse,Screen,Splash Screen,我正在尝试使用这个java和xml代码实现一个初始屏幕。我从我的主要活动中创建了一个单独的java类,并将java代码放在其中。我在布局文件中创建了一个xml布局,并将xml代码放在其中。但是,我的应用程序正常显示,没有启动屏幕。它从不显示,但应用程序没有任何错误。Eclipse也没有显示任何错误。这可能是什么原因?先谢谢你。这是代码 爪哇: XML: 舱单: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:andr
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.carouseldemo.main"
android:versionCode="1"
android:versionName="1.0"
>
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" android:screenOrientation="portrait"/>
<application android:icon="@drawable/buttonone" android:label="@string/app_name">
<activity android:name=".MainActivity" android:label="@string/app_name" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
用以下内容替换处理程序部件:
Thread splashThread = new Thread() {
public void run() {
try {
Thread.sleep(SPLASH_DISPLAY_LENGHT);
} catch (Exception e) {
} finally {
Intent i = new Intent(Splash.this,Menu.class);
startActivity(i);
finish();
}
}
};
splashThread.start();
用以下内容替换处理程序部件:
Thread splashThread = new Thread() {
public void run() {
try {
Thread.sleep(SPLASH_DISPLAY_LENGHT);
} catch (Exception e) {
} finally {
Intent i = new Intent(Splash.this,Menu.class);
startActivity(i);
finish();
}
}
};
splashThread.start();
使用倒计时的另一种实现方法 在OnCreate内
使用倒计时的另一种实现方法 在OnCreate内 替换你的处理器
new Thread(new Runnable() {
public void run() {
try {
Thread.sleep(SPLASH_TIME);
startActivity(intent);
finish();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();
替换你的处理器
new Thread(new Runnable() {
public void run() {
try {
Thread.sleep(SPLASH_TIME);
startActivity(intent);
finish();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();
尝试如下:
编辑:
尝试如下:
编辑:
试试这个
在你的舱单上
<activity android:name="Splash" android:configChanges="keyboardHidden" 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>
试试这个
在你的舱单上
<activity android:name="Splash" android:configChanges="keyboardHidden" 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>
MainActivity是清单文件中的启动器活动。所以,水花没有出现 将启动器活动MainActivity更改为Splash,并为MainActivity编写另一个
<application android:icon="@drawable/buttonone" android:label="@string/app_name">
<activity android:name=".Splash" android:label="@string/app_name" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity" />
</application>
MainActivity是清单文件中的启动器活动。所以,水花没有出现 将启动器活动MainActivity更改为Splash,并为MainActivity编写另一个
<application android:icon="@drawable/buttonone" android:label="@string/app_name">
<activity android:name=".Splash" android:label="@string/app_name" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity" />
</application>
使用此代码,它可能会对您有所帮助
public class SplashScreenActivity extends Activity {
protected int _splashTime = 2000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash_screen);
Thread splashTread = new Thread() {
@Override
public void run() {
try {
sleep(_splashTime);
}
} catch (InterruptedException e) {
// do nothing
} finally {
startActivity(new Intent(SplashScreenActivity.this,
MainActivity.class));
SplashScreenActivity.this.finish();
}
}
};
splashTread.start();
}
希望它能帮助您。使用此代码,它可能会帮助您
public class SplashScreenActivity extends Activity {
protected int _splashTime = 2000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash_screen);
Thread splashTread = new Thread() {
@Override
public void run() {
try {
sleep(_splashTime);
}
} catch (InterruptedException e) {
// do nothing
} finally {
startActivity(new Intent(SplashScreenActivity.this,
MainActivity.class));
SplashScreenActivity.this.finish();
}
}
};
splashTread.start();
}
希望它能对您有所帮助。启动屏幕显示时间为1秒,您能否将其保留在4-5秒左右,然后再次检查。我将时间增加到了10秒。它显示了大约一秒钟的黑屏并打开了应用程序。清单文件呢?你是否已将初始屏幕注册为启动程序活动..你能在这里发布你的manisfest文件吗?你的java代码正常,不需要更改..这是一个小问题。我已用清单文件更新了我的问题。初始屏幕显示时间是1秒,你能不能把它保持在4-5秒左右,然后再检查一遍。我把时间增加到了10秒。它显示了大约一秒钟的黑屏并打开了应用程序。清单文件呢?你是否已将初始屏幕注册为启动程序活动..你能在这里发布你的manisfest文件吗?你的java代码正常,不需要更改..这是一个小问题。我已用清单文件更新了我的问题。初始屏幕仍然没有出现。感谢您的回复,您还有其他想法吗?Menu.class是关于什么的?我正在使用从我在这里找到的类似问题中找到的代码。在发布问题之前,我试着让它起作用。我只是一个初学者,这似乎是必要的。任何服务,你这是什么意思?你能说得更具体一点吗?检查清单文件:启动屏幕仍然没有出现。感谢您的回复,您还有其他想法吗?Menu.class是关于什么的?我正在使用从我在这里找到的类似问题中找到的代码。在发布问题之前,我试着让它起作用。我只是一个初学者,这似乎是必要的。任何服务,你这是什么意思?你能说得更具体一点吗?检查清单文件:除非我应该用我自己的代码替换意图?除非我应该用我自己的代码替换意图?你的代码没有带来错误,但是启动页面也没有出现。我可以看到您已经在清单中将定义的MainActivity设置为launcher。此外,您应该将Splash活动定义为launcher。请换一下。检查我的答案。你的代码没有带来错误,但是启动页面也没有出现。我可以看到你已经在清单中将定义的MainActivity设置为launcher。此外,您应该将Splash活动定义为launcher。请换一下。检查我的答案。我想知道我怎么能把MainActivity作为android名称,并在活动中同时使用Splash。感谢您演示这一点。每个人都是对的,但这就是问题的解决之道。我想知道我怎么能将MainActivity作为android名称,并在活动中同时使用Splash。感谢您演示这一点。每个人都是对的,但这就是解决问题的方法。
public class SplashScreenActivity extends Activity {
protected int _splashTime = 2000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash_screen);
Thread splashTread = new Thread() {
@Override
public void run() {
try {
sleep(_splashTime);
}
} catch (InterruptedException e) {
// do nothing
} finally {
startActivity(new Intent(SplashScreenActivity.this,
MainActivity.class));
SplashScreenActivity.this.finish();
}
}
};
splashTread.start();
}
public class SplashScreenActivity extends Activity {
protected int _splashTime = 2000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash_screen);
Thread splashTread = new Thread() {
@Override
public void run() {
try {
sleep(_splashTime);
}
} catch (InterruptedException e) {
// do nothing
} finally {
startActivity(new Intent(SplashScreenActivity.this,
MainActivity.class));
SplashScreenActivity.this.finish();
}
}
};
splashTread.start();
}