安卓 WebView加载本地图片时居中显示

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

原文地址:https://www.cnblogs.com/chensuqian/p/3858625.html