2010-08-01 53 views
7

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

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

感谢的,而不是网页流量,

+0

btw:同样的问题似乎在这里:http://stackoverflow.com/questions/3321958/how-use-a-webview-without-expand-and-without-interaction – 2010-08-01 14:39:36

+3

@ mathias-lin:link is dead – 2010-09-14 15:10:03

回答

0

查看我在 回复和评论how to show a webview inside an activity in the middle of screen

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

+0

谢谢你的快速回答。但是,我试过了。我将LayoutParams设置为; RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT,200); webView.setLayoutParams(params); 这个工程,如果我不呼吁loadURL metdoh。当我调用该方法时,webView将全屏显示。 – Kaan 2010-08-01 13:37:37

+0

这很奇怪。你可以发布你的代码(编辑/添加问题),尤其是在你进行所有WebView设置和初始化的地方。你确定你看到的webview是你自己的应用内webview,而不是默认浏览器吗? – 2010-08-01 13:44:09

14

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

+0

这是最有可能的情况下(和补救措施) – Bostone 2010-08-01 18:57:55

+0

http://www.giantflyingsaucer.com/blog/?p=1331为例 – max4ever 2012-04-26 15:03:06

+0

+1我一直在寻找这:) – BBdev 2013-01-15 05:47:49

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显示无地址栏,无导航(后退,转发等)?

而且,webview可以接受用户输入吗?

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

我搜索,我发现下面附加的设置,使网页视图来能够得到输入;

webView.requestFocus(View.FOCUS_DOWN); 

在另一方面,我想我会创造我自己的后退,前进按钮和地址栏为我的网页流量。当我创建我的按钮和地址栏时,我还会将“发生了什么”附加到此线程中。

最佳,

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

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