如何将WebView设置为非全屏?

我想在我的Android应用程序中使用WebView。 我正在代码端(而不是XML)创build我的webview。 我的问题是 当我调用webview的loadUrl方法时,webview会进入全屏模式。 我怎样才能保持webview的大小,例如200×200像素?

如果有其他的select,而不是webview,当然欢迎:)

谢谢,

Solutions Collecting From Web of "如何将WebView设置为非全屏?"

很可能你看到的不是你的活动,而是浏览器应用程序,因为你链接的URL做了redirect。 使用WebViewClientshouldOverrideUrlLoading()来捕获redirect并将其发送回您自己的WebView

@Mahtias Lin,请看我的代码来创build和使用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高度为416px。

@CommonsWare,我试着用下面的代码build议你,并惊人的是,它的工作,谢谢。

 webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return false; } }); 

但是这个用法带来了一些新的问题。 当我重写shouldOverrideURLLoading时,webview显示无地址栏,无导航(后退,转发等)?

而且,webview可以接受用户的input吗?

好吧,我正在编辑我的问题:)

我search了,我发现下面的附加设置使webview能够获得input;

 webView.requestFocus(View.FOCUS_DOWN); 

另一方面,我想我会为我的webview创build自己的后退,前进button和地址栏。 当我创build我的button和地址栏时,我还会附加“发生了什么事”。

最好,

 WebView wb=new WebView(); wb.setInitialScale(60); 

这用于模拟器的布局布局。 60意味着%的价值。 我们可以使用0%到100%。

查看我的回复和评论, 了解如何在屏幕中间的活动中显示webview

将LayoutParams应用到WebView或围绕WebView的布局(即LinearLayout)(如果有的话),即setLayoutParams(LinearLayout.LayoutParams(200, 200));