如何将WebView设置为非全屏?

时间:2010-08-01 13:25:42

标签: android webview

我正在尝试在我的Android应用程序中使用WebView。我在代码端创建我的webview(不是在XML中)。我的问题是;当我调用webview的loadUrl方法时,webview会进入全屏模式。如何保持webview的大小,例如200x200像素?

如果有任何其他选项而不是webview,当然欢迎:)

谢谢,

4 个答案:

答案 0 :(得分:14)

您所看到的很可能不是您的活动,而是浏览器应用程序,因为您链接的URL执行了重定向。使用WebViewClientshouldOverrideUrlLoading()来捕获重定向并将其发回给您自己的WebView

答案 1 :(得分:5)

@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设置为416px高度。

@CommonsWare,我用以下代码尝试了你的建议,令人惊讶的是它有效,谢谢。

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

    }  
 });  

但这种用法带来了一些新问题。当我覆盖shouldOverrideURLLoading时,webview会显示no-addressbar,no-navigation(back,forward etc ......)?

而且,webview会不会接受用户输入?

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

我搜索了一下,我发现了以下附加设置,使webview能够获得输入;

webView.requestFocus(View.FOCUS_DOWN);

另一方面,我想我会为我的webview创建自己的后退,前进按钮和地址栏。当我创建我的按钮和地址栏时,我还会在这个帖子中附上“发生了什么”。

最佳,

答案 2 :(得分:4)

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

这用于模拟器的设置布局。 60表示%值。我们可以使用0%到100%。

答案 3 :(得分:0)

请参阅我的回复和评论 how to show a webview inside an activity in the middle of screen

将LayoutParams应用于WebView或WebView周围的Layout(即LinearLayout),如果有的话,即setLayoutParams(LinearLayout.LayoutParams(200, 200));