2011-08-24 14 views
8

私はアプリケーションでwebViewを使用して、loadData()メソッドを使用してhtmlコンテンツを表示しています。問題は、HTMLコンテンツが下部に余分なスペースとともに表示されているため、なぜ空白が来るのか理解できませんでした。この問題は、Motorolaマイルストーンデバイス(Android 2.1)でのみ発生しています。この問題を解決するために誰か助けてください。事前にアンドロイド下部の余分なスペースに問題があります。Webview

enter image description here

おかげで、最後に Rajapandian

答えて

13

私は自分の質問に対する答えを見つけることが、私はWebViewのに追加する前に、私のHTMLコンテンツと一緒にメタタグを追加する必要があります。以下のコードを見つけてください

String s="<head><meta name='viewport' content='target-densityDpi=device-dpi'/></head>";    
webview.loadDataWithBaseURL(null,s+htmlContent,"text/html" , "utf-8",null);  

メタタグ内のビューポートプロパティは、このトリックを実行しました。詳細については、次のリンクを参照してください。

Using Viewport in Android Webview

よろしく、 Rajapandian

+0

素晴らしいものは非常に完全な使用... – NagarjunaReddy

1

より良い利用widthプロパティもいくつかのデバイスがそれを考える.Because。

例:

String s="<head><meta name=viewport content=target-densitydpi=medium-dpi, width=device-width/></head>";    
2

このブログの記事は、私の問題を解決しました。私はそれが助けると思う。 http://capdroid.wordpress.com/2014/08/07/resizing-webview-to-match-the-content-size/

private void setupWebView() { 
    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

これは実際には4.4以降のホワイトスペースの問題を解決し、それはまた、それが画面上に行けばどこので、あなたがそれを配置する必要がトップにWebViewのを配置します – sandalone

関連する問題