2013-02-01 267 views
2

在我的应用程序中,有两个活动。第一个是Splashscreen,第二个是Webview活动。 启动画面显示后,我想显示我的webview活动。但闪屏后,为2-3秒一个空白的白色屏幕来,然后webview活动得到loaded.Any想法如何忽略这个白色的屏幕。 我在很多帖子中查看了这个问题的解决方案,但没有成功。 任何帮助将不胜感激。闪屏后,出现一个白色的空白屏幕,然后加载webview

添加代码: 闪屏活动:

@Override 
protected void onStart() { 
    super.onStart(); 
    new Handler().postDelayed(new Runnable() { 

     @Override 
     public void run() { 
      finish(); 
      startActivity(new Intent(SplashScreen.this, 
        WebViewActivity.class)); 
     } 
    }, DELAY); 
} 
+0

可能有机会,你在代码中犯的错误。 –

+0

也许你有分开,检查显示文件, –

+0

@TomerMor你可以详细说明评论吗? –

回答

0

完成启动画面后,网页加载需要一些时间。这就是为什么你看到一个空白的白色屏幕出现。一旦Web视图开始加载进度条。 尝试此链接。这对你有帮助。 http://www.technotalkative.com/android-load-webview-with-progressbar/

+0

谢谢,会试试这个... –

+0

请完整加载webview后修复'进度条,然后隐藏进度条'。无法理解。 – Siddharth

+0

@Peter这个解决方案也显示一个空白的白屏2-3秒。 –

0

创建两个类文件,如WebActivity.java,home.java。

WebActivity.java

 Handler handler = new Handler(); 

    // run a thread after 2 seconds to start the home screen 
    handler.postDelayed(new Runnable() { 

     @Override 
     public void run() { 

      // make sure we close the splash screen so the user won't come 
      // back when it presses back key 

      finish(); 
      // start the home screen 

      ProgressDialog pd = new ProgressDialog(WebActivity.this); 

      //use this before calling intent 
          pd.setMessage("Processing..."); 

      pd.show(); 



      Intent intent = new Intent(WebActivity.this, Home.class); 

      WebActivity.this.startActivity(intent); 

     } 

    }, 2000); // time in milliseconds (1 second = 1000 milliseconds) until the run() method will be called 

Home.java

webview=(WebView)findViewById(R.id.webView1); 
webview.setWebViewClient(new myWebClient()); 

webview.loadUrl("http://www.google.com");} 

public class myWebClient extends WebViewClient 

{ 

    @Override 

     public boolean shouldOverrideUrlLoading(WebView view, String url) { 

      // TODO Auto-generated method stub 


      view.loadUrl(url); 

      return true; 

     } 
} 

Android清单

只需添加活动类,并设置Internet权限加载网页视图

+0

这正是我所做的..但在飞溅屏幕完成后,在webview加载之前,出现一个白色的空白屏幕2-3秒... –

1

工作代码

public class WebActivity extends Activity { 

protected boolean _active = true; 

protected int _splashTime = 3000; 

Thread splashTread; 

private boolean stop = false; 

/** Called when the activity is first created. */ 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_web); 

    splashTread = 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 { 

       if(!stop){ 
        startActivity(new Intent(WebActivity.this,Home.class)); 
        finish(); 
       } 
       else 
        finish(); 
      } 
     } 

    }; 
    splashTread.start(); 

} 

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if ((keyCode == KeyEvent.KEYCODE_BACK)) { 

     if(splashTread.isAlive()) 
      this.stop = true; 
    } 
    return true; 
} 
}