2017-12-12 7 views
1

私のAndroidアプリケーションでは、Webviewにhtmlコンテンツを表示しています。 私の必要条件の一部として、テキストサイズを増減する必要があります。 Webviewコンテンツ。このため私は以下の方法を使用しています。textzoomの操作時にWebviewで余分なスペースをトリミングする方法は?

mWebView.getSettings().setTextZoom(150); 

問題の説明:コンテンツと共にmWebView.getSettings().setTextZoom(150)いっぱいのWebViewにtextzoom後

はサイズが大きくなります。 しかし、私はmWebView.getSettings().setTextZoom(100)に出textzoomときにWebViewの高さはまだだから、textzoom 100

と私のコンテンツの後に余分なスペースが表示されている150 と同じままWebview内容に余分なスペースをリセットしたり、トリミングする方法を私にアドバイスをしてください。

答えて

1

これを試してください。それが助けてくれることを願って。

ページの読み込みが完了したら、私はJSフックをコールバックするjavascriptメソッドを注入しています。そしてこの方法では、私はサイズを渡しています。

webView.getSettings().setJavaScriptEnabled(true); 
    webView.setWebViewClient(new WebViewClient() { 
     @Override 
     public void onPageFinished(WebView view, String url) { 
      webView.loadUrl("javascript:MyApp.resize(document.body.getBoundingClientRect().height)"); 
      super.onPageFinished(view, url); 
     } 
    }); 
    webView.addJavascriptInterface(this, "MyApp"); 
} 
@JavascriptInterface 
public void resize(final float height) { 
    MyActivity.this.runOnUiThread(new Runnable() { 
     @Override 
     public void run() { 
      webView.setLayoutParams(new LinearLayout.LayoutParams(getResources().getDisplayMetrics().widthPixels, (int) (height * getResources().getDisplayMetrics().density))); 
     } 
    }); 
} 
+0

返信ありがとうございます@Dharmishtha。あなたの提案を試しましたが、ズームインするときにフルコンテンツを表示していないときに表示されます。一部のコンテンツは表示されている部分から隠されています。 –

+0

もう一度あなたの手がかりをありがとう。私のwebviewのlayoutparamsをリセットした後、私の期待通りに働いています。私がtextzoom操作を実行しているときに毎回次のコードを呼び出しました。 'webView.setLayoutParams(新しいFrameLayout.LayoutParams(FrameLayout.LayoutParams.FILL_PARENT、FrameLayout.LayoutParams.WRAP_CONTENT));' –

+0

お手伝いします。あなたに有用な場合は、この答えを正解としてティックマークで受け入れてください – Dharmishtha

関連する問題