2013-03-06 150 views
3

我想加載Webview加載時的啓動畫面。我正在使用下面的代碼,但10秒後我看到一個黑色的webview。請幫忙。加載webview時的Android啓動畫面

public class MainActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.activity_main); 
     progressBar = (ProgressBar) findViewById(R.id.progressBar1); 

     WebView myWebView = (WebView) findViewById(R.id.webview); 
     WebSettings webSettings = myWebView.getSettings(); 
     webSettings.setJavaScriptEnabled(true); 
     myWebView.setVerticalScrollBarEnabled(false); 
     myWebView.setHorizontalScrollBarEnabled(false); 
     myWebView.getSettings().setLoadWithOverviewMode(true); 
     myWebView.getSettings().setUseWideViewPort(true); 
     myWebView.getSettings().setRenderPriority(RenderPriority.HIGH); 

     WebView webView = (WebView) findViewById(R.id.webview); 
     webView.addJavascriptInterface(new WebAppInterface(this), "Android"); 
     myWebView.setWebViewClient(new WebViewClient()); 
     myWebView.setWebViewClient(new MyWebViewClient()); 
     myWebView.loadUrl("http://www.XXXXXXX.com); 
     setContentView(R.layout.splash); 
    } 



    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.activity_main, menu); 
     return true; 
    } 


    private class MyWebViewClient extends WebViewClient { 


     public void onPageFinished (WebView myWebView, String url) { 
      setContentView(R.layout.activity_main); 
      } 
} 

我希望在webview加載的同時顯示帶有應用徽標的啓動畫面。我該怎麼做呢 ?我的代碼是否正確?我在一段時間後得到了webview,但它似乎是空白的。

+0

請清除問題 – 2013-03-06 12:09:25

+0

@VishalVijay - 我想在加載網頁視圖的同時,顯示帶有應用程序徽標的啓動畫面。我該怎麼做呢 ?我的代碼是否正確?我在一段時間後得到了webview,但它似乎是空白的。 – Yahoo 2013-03-06 12:12:54

+0

不建議多次調用setContentView()。 – 2013-03-06 12:34:51

回答

0

我會建議你做出你想要的的WebView 定製對話框和地點的圖像查看和設置背景圖片onPageStarted方法

@Override 
       public void onPageStarted(WebView view, String url, 
         Bitmap favicon) { 
        // TODO Auto-generated method stub 
        super.onPageStarted(view, url, favicon); 
        ProgressDialog(); 
        } 
1

請出示一個對話框或者在某點啓動另一個活動你在哪裏設置啓動畫面。

 setContentView(R.layout.splash);

替換該行與您的首選解決方案無論是服裝對話框,看起來像一個飛濺或新活動的另一個全閃屏。

如果您啓動新的活動,然後在您的MainActivity中保持活動的實例,並且當您的網頁加載完成後,完成啓動畫面活動。

我更喜歡你爲它製作全屏對話框,因爲它比對你的情況更容易維護對話框。

0

不建議多次呼叫setContentView()。將ImageView添加到您的主佈局(將其src設置爲您的初始屏幕圖像)。默認通過使用imageView.setVisibility(View.INVISIBLE);隱藏它。當您開始加載新頁面時,將webView的可見性更改爲INVISIBLEimageView在功能onPageStarted()中的VISIBLE的可見性。 加載完成後,將imageView的可見性更改爲INVISIBLE,並將函數onPageFinished()webView的可見性更改爲VISIBLE