在一個項目中使用WebView顯示gif圖片(自定義的View無法放大gif),當圖片過小時只在左側顯示,經過研究發現無論設置android:layout_gravity="center_horizontal"還是設置android:gravity="center_horizontal" 都無法居中顯示,而且還設置了android:layout_width="wrap_content",但是實際上WebView並沒有自適應內容,它的寬度占了屏幕寬度。
當時使用WebView加載本地圖路時使用的是this.webViewGif.loadUrl(gifFilePath);方式,其實WebView是為了顯示Html內容,因此可以將圖片資源放在一個HTML內容中:
String gifFilePath = "file://" + this.filePath;
String data = "<HTML><Div align=\"center\" margin=\"0px\"><IMG src=\""+gifFilePath+"\" margin=\"0px\"/></Div>";
webViewGif.loadDataWithBaseURL(gifFilePath, data, "text/html", "utf-8", null);
問題解決。
另:我只是為了顯示gif圖片,並且不讓大的gif圖片過寬時左右滑動,設置了webViewGif.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);。
