我可能正在開發一個應用程序,它在從onCreate點加載的時候,我只是有一個黑屏(直到應用程序獲得其基礎)。看看其他應用程序,他們有一個公司的標誌或冷卻圖像彈出幾秒鐘,有人可以告訴我如何做到這一點嗎?啓動/加載時的圖像
如果您可以將其設置爲顯示最短時間?
我可能正在開發一個應用程序,它在從onCreate點加載的時候,我只是有一個黑屏(直到應用程序獲得其基礎)。看看其他應用程序,他們有一個公司的標誌或冷卻圖像彈出幾秒鐘,有人可以告訴我如何做到這一點嗎?啓動/加載時的圖像
如果您可以將其設置爲顯示最短時間?
創建顯示圖像幾秒鐘,並重定向到您的主要活動新的活動:
public class SplashActivity extends Activity
{
private static final long DELAY = 3000;
private boolean scheduled = false;
private Timer splashTimer;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
splashTimer = new Timer();
splashTimer.schedule(new TimerTask()
{
@Override
public void run()
{
SplashActivity.this.finish();
startActivity(new Intent(SplashActivity.this, MainActivity.class));
}
}, DELAY);
scheduled = true;
}
@Override
protected void onDestroy()
{
super.onDestroy();
if (scheduled)
splashTimer.cancel();
splashTimer.purge();
}
}
設置您的影像爲背景,這項活動。希望有所幫助。祝你好運!
此啓動圖像也被稱爲「閃屏」。 Here你可以找到如何製作啓動畫面。
您的需求是callign Splash Screen。這是我的啓動畫面代碼。
只需添加新的活動並設置應用程序來打開此活動。
公共類SplashActivity擴展DeviceInfoAbstractActivity {
@SuppressLint("MissingSuperCall")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState, R.layout.activity_splash);
passScreen();
}
private void passScreen() {
new CountDownTimer(1000, 2000) {
@Override
public void onTick(long millisUntilFinished) {
}
@Override
public void onFinish() {
Intent intent = RDAIntentHelpers.getClearCacheIntent();
intent.setClass(SplashActivity.this, MainActivity.class);
startActivity(intent);
}
}.start();
}
@Override
public void onBackPressed() {
//no exit
}
}
,這我getClearCacheIntent()方法
public static Intent getClearCacheIntent() {
Intent intent = new Intent();
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
return intent;
}
這些後,你的啓動畫面在屏幕上停留2秒鐘。做任何你想要的=)
但請使用'Handler'而不是'TimerTask'。 – inazaruk
您是在模擬器還是實際設備上測試此代碼? Android上沒有'Timer'! –
Timer不是一個android對象,它是一個java對象。這是我的一個應用程序中的工作代碼。它適用於設備和仿真器。將以下內容添加到您的導入列表中,您將會被罰款: import java.util.Timer; import java.util.TimerTask; –