2010-08-01 91 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%。