我正在尝试在我的安卓应用中使用WebView。我是在代码中创建WebView的(而不是在XML中)。问题是:当我调用webview的loadUrl方法时,webview会进入全屏模式。如何保持WebView的大小,例如200x200像素?
如果有其他选项代替WebView,当然欢迎:)
谢谢。
如果有其他选项代替WebView,当然欢迎:)
谢谢。
可能您所看到的并不是您的活动,而是浏览器应用程序,因为您链接的URL进行了重定向。使用WebViewClient
和shouldOverrideUrlLoading()
来捕获重定向并将其发送回您自己的WebView
。
@Mahtias Lin,请看我创建和使用WebView的代码:
WebView webView = new WebView(this);
RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, 416);
WebSettings webSettings = webView.getSettings();
webSettings.setSavePassword(false);
webSettings.setSaveFormData(false);
webSettings.setJavaScriptEnabled(true);
webView.setLayoutParams(p);
webView.loadUrl("http://www.google.com/");
上面的代码没有将我的webview设置为416像素的高度。
@CommonsWare,我尝试了您提供的以下代码,神奇的是它有效了,谢谢。
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return false;
}
});
webView.requestFocus(View.FOCUS_DOWN);
WebView wb=new WebView();
wb.setInitialScale(60);
这个用来设置模拟器的布局。60代表百分数,可以使用0%到100%。
请查看我在如何在活动中在屏幕中间显示Web视图上的回复和评论
将LayoutParams应用于您的WebView或WebView周围的Layout(即LinearLayout),如果有的话,例如setLayoutParams(LinearLayout.LayoutParams(200, 200));