6

Web ビューで画像を読み込みたいのですが、Web ビューの top_left にすべて表示されます。私の写真はローカルではなくインターネット上にあります。

gifView.loadUrl(mImageUrl); 
gifView.setWebViewClient(new WebViewClient() {

        @Override
        public void onPageFinished(WebView view, String url) {
            view.getSettings().setLoadsImagesAutomatically(true);
            if (mProgressBar != null) {
                mProgressBar.setVisibility(View.GONE);
            }
        }

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            if (mProgressBar != null) {
                mProgressBar.setVisibility(View.VISIBLE);
            }
        }

    });

これが私のxmlです:::

  <WebView
                     android:id="@+id/gif_image"
                     android:background="@null"
                     android:layout_gravity="center"

                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent" />

編集:使用しました:

   String HTML_FORMAT = "<html><body style=\"text-align: center; background-color: null; vertical-align: middle;\"><img src = \"%s\" /></body></html>";

         final String html = String.format(HTML_FORMAT, mImageUrl);

         gifView.loadDataWithBaseURL("", html, "text/html", "UTF-8", "");

しかし、私の画像は水平方向の中央のみです。中央に配置する方法

4

6 に答える 6

12

これを試して。

myWebView.loadData("<html><head><style type='text/css'>body{margin:auto auto;text-align:center;} img{width:100%25;} </style></head><body><img src='www.mysite.com/myimg.jpeg'/></body></html>" ,"text/html",  "UTF-8");
于 2012-09-04T10:52:07.730 に答える
1

これを試してください。これにより、コンテンツが Web ビューに適合します。

WebView web = (WebView) findViewById(R.id.gif_image);
web.getSettings().setDefaultZoom(ZoomDensity.FAR);
于 2013-02-11T03:57:30.237 に答える
0

線形レイアウトを使用していますか? したがって、親線形レイアウトの重力プロパティを使用する必要があります。アンドロイドの重力の良い説明: http://sandipchitale.blogspot.com/2010/05/linearlayout-gravity-and-layoutgravity.html

于 2012-09-04T10:53:33.973 に答える
0

理由は webview ではなく、html コードです。W3c は、"text-align" が画像などのブロック要素に影響を与えないようにしたいと考えています。

詳しくはcenter-image-using-text-align-centerで読むことができます

したがって、画像を作成するかdisplay:inline、別の方法で中央に配置します。

.center {
  left: 50%;
  margin-left: -50%;
}
于 2020-08-25T12:02:46.623 に答える