在一个项目中使用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);。