我想在加载 Webview 时加载启动画面。我正在使用下面的代码,但在 10 秒后我看到一个黑色的 webview。请帮忙。
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 时显示带有应用程序 Logo 的初始屏幕。我该怎么做呢 ?我的代码正确吗?一段时间后我得到了 webview,但它似乎是空白的。
最佳答案
请在您设置启动画面的位置显示一个对话框或启动另一个 Activity 。
setContentView(R.layout.splash);
将此行替换为您喜欢的解决方案,可以是看起来像启动画面的服装对话框,也可以是新 Activity 中的另一个完整启动画面。
如果您启动新 Activity ,则将 Activity 实例保留在您的 MainActivity 中,并在您的网页加载完成后完成启动画面 Activity 。
我更喜欢你为它制作全屏对话框,因为与你的情况下的 Activity 相比,它更容易维护对话框。
关于加载 webview 时的 Android 启动画面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15246911/