我想在加载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时显示带有App徽标的初始屏幕。我该怎么做呢 ?我的代码是否正确?我在一段时间后获得了webview,但它似乎是空白的。
答案 0 :(得分:1)
请在设置启动画面的位置显示对话框或启动其他活动。
setContentView(R.layout.splash);
使用您首选的解决方案将此行替换为在新活动中看起来像启动或另一个完整启动屏幕的服装对话框。
如果您启动新活动,请在MainActivity中保留活动实例,并在网页加载完成后再完成启动屏幕活动。
我更喜欢你为它制作全屏对话框,因为与你的案例中的活动相比,它更容易保持对话。
答案 1 :(得分:0)
我建议您制作一个自定义对话框并在其中放置图片视图,并在webview的 onPageStarted 方法
上设置您想要的背景图片@Override
public void onPageStarted(WebView view, String url,
Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
ProgressDialog();
}
答案 2 :(得分:0)
不建议多次调用setContentView()
。在主布局中添加ImageView
(将其src
设置为初始屏幕图像)。默认使用imageView.setVisibility(View.INVISIBLE);
隐藏它。当您开始加载新网页时,请将webView
展示次数更改为INVISIBLE
,并将imageView
展示次数更改为VISIBLE
中的onPageStarted()
。
加载完成后,将imageView
的可见性更改为INVISIBLE
,并将webView
的可见性更改为VISIBLE
中的onPageFinished()
。