2010-11-25 63 views
7

guys! 我已經搜索了一整天,仍然無法找到解決方案。所以,我在這裏發佈我的問題,希望能得到一些結果。在Webview結尾添加視圖

我想在Android上的WebView的末尾添加一些空白區域,我嘗試設置的WebView的底部填充,但是,這是行不通的。我知道webview的佈局是absoluteLayout,這是棄用的,我試圖得到整個webview的長度,並在最後添加一個視圖,我嘗試使用getContentHeight(),但是,高度不是很正確, 它不是webview的結束,也許是因爲圖片或其他東西,我不知道。

所以,我的問題是,反正是有實現我原來的目標,這是在網頁視圖的末尾添加一些空白區域?

在此先感謝!

回答

3

我之前做過類似的事情,但我認爲它應該可以工作。

  1. 創建擴展web視圖的自定義類(說CustomWebView)

  2. 覆蓋onMeasure

例如

public void onMeasure(int wspec, int hspec){ 
    super.onMeasure(wspec, hspec); 

    this.setMeasuredDimension(this.getMeasuredWidth(), this.getMeasuredHeight() + 200); // the padding you need. 
} 
+0

不適用於4.0.3,4.4.3 – Cinakyn 2014-11-18 10:53:53

3

經過兩天谷歌和嘗試,我終於得到我想要的,謝謝xandy,你的方法確實給了我一個打擊。

這是我的解決方案。我沒有重寫OnMeasure方法,相反,我重寫了computeVerticalScrollRange方法,所以它會增加webview的整個垂直長度。就像在最後添加一些空白區域一樣。

以下是我的代碼:

protected int computeVerticalScrollRange() { 
     float density = getResources().getDisplayMetrics().density; 
     return super.computeVerticalScrollRange()+(int)(60*density); 
    } 

再次感謝xandy。

+0

不適用於4.0.3,4.4.3 – Cinakyn 2014-11-18 10:54:38

-1

這裏沒有解決方案爲我工作,所以我採取了不同的路線:爲WebView而不是WebView的內容添加填充,我只是使用JavaScript。

當完成頁面加載我用下面的代碼:

loadUrl("javascript:document.getElementsByTagName('body')[0].style.paddingBottom='" 
    + mPadding 
    + "px'"); 

你必須改變你加載網頁的CSS時要小心。它在我的情況下工作。

相關問題