2011-06-03 93 views
1

我使用後續代碼創建的初始屏幕:機器人:閃屏問題

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    this.setContentView(R.layout.splash_layout); 

    Thread splashThread = new Thread() { 
     @Override 
     public void run() { 
      try { 
       int waited = 0; 
       while (_active && (waited < _splashTime)) { 
        sleep(100); 
        if (_active) { 
         waited += 100; 
        } 
       } 
      } catch (InterruptedException e) { 
       // do nothing 
      } finally { 
       _active = false; 
       finish(); 
       startActivity(new Intent(SplashActivity.this, MyMainActivity.class)); 
      } 
     } 
    }; 

    splashThread.start(); 
} 

存在splash_layout的圖像視圖,出現了一段時間的持續時間的初始屏幕之後,並消失然後MyMainActivity開始時,問題是,在飛濺消失之後,在MyMainActivity啓動之前,我可以看到前一個屏幕(與我的應用無關,例如桌面帶有小部件或以前的運行應用),如何使轉換流暢,以便啓動屏幕直接進入MyMainActivity?

謝謝!

回答

1

你可以試試這個我不知道這是100%的工作,但嘗試可能會有所幫助..

protected int _splashTime = 3000; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.splash_layout); 
    Handler handler = new Handler(); 
    handler.postDelayed(new Runnable() { 
     public void run() { 
      finish(); 
      startActivity(new Intent(SplashActivity.this, MyMainActivity.class)); 
     } 
    }, _splashTime); 
} 
+0

謝謝我試過了,結果是一樣的,當活動開始之前飛濺消失時,我仍然可以看到桌面或以前的應用程序。 – hzxu 2011-06-03 06:05:32

+0

我修改了佈局文件,現在它可以工作,我爲圖像的父元素添加了黑色背景色。 – hzxu 2011-06-03 06:18:33

+0

感謝您接受答案。如果你覺得它有幫助,請upvote它.... :) - – Nikhil 2011-06-03 06:22:46

1

嘗試撥後致電finish()

+0

我試過,但沒有運氣。 – hzxu 2011-06-03 06:06:44

-1

你可以試試這個代碼:1

public class MainActivity extends Activity { 
    private ImageView splashImageView; 
    boolean splashloading = false; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     splashImageView = new ImageView(this); 
     splashImageView.setScaleType(ScaleType.FIT_XY); 
     splashImageView.setImageResource(R.drawable.ic_launcher); 
     setContentView(splashImageView); 
     // interesting music 
     /** 
     * Gets your sound file from res/raw 
     */ 
     splashloading = true; 
     Handler h = new Handler(); 
     h.postDelayed(new Runnable() { 
      public void run() { 
       splashloading = false; 
       setContentView(R.layout.activity_main); 
      } 

     }, 3000); 

    } 

祝您好運!