2010-11-25 10 views
7

人! 私は一日中グーグルで探検しましたが、解決策を見つけることができません。私はここに質問を投稿し、ヒットしたいと考えています。Webviewの最後にビューを追加

アンドロイドのウェブビューの最後に空白部分を追加したいのですが、ウェブビューのボトムパッドを設定しようとしましたが、動作しません。私はwebviewのレイアウトが推奨されていないabsoluteLayoutであり、webviewの全長を取得して最後にビューを追加しようとしましたが、getContentHeight()を使用しようとしましたが、高さは正しくありません webviewの終わりではない、おそらく画像や何かのために、私は知らない。

私の質問は、とにかくWebviewの最後に空白領域を追加するという私の本来の目標を達成することですか?

ありがとうございます!

答えて

3

私はこれまで同様のことをしましたが、うまくいくと思います。

例えばonMeasure

  • オーバーライドをWebViewの(たとえばCustomWebView)を拡張するカスタムクラスを作成します。

    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

    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

    -1

    ここで解決策がないので、私は別のルートをとった:WebViewの内容にパディングを追加することを達成するために、WebViewにではなく、JavaScriptを使用しました。

    ページは、私は次のコードを使用ロード終了:あなたはあなたがロードしているWebページのCSSを変更する際に注意する必要があり

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

    を。それは私の場合に働いた。

    関連する問題