我正在使用webview来显示gif图像,但问题是,webview窗口不适合gif的宽度,gif右边总是有一些空白区域。
现在我必须手动设置宽度并尝试保持我的GIF宽度,但奇怪的是高度总是适合GIF
int w = 115;//image.getWidth();
LayoutParams lp = holder.wv.getLayoutParams();
lp.width= (int) (w * context.getResources().getDisplayMetrics().density);
holder.wv.setLayoutParams(lp);
holder.wv.loadUrl("file:///android_asset/" + text.substring(1, text.length()-1) + ".gif");
holder.wv.setVisibility(View.VISIBLE);
xml布局中的Webview
<WebView
android:id="@+id/wv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="2sp"
android:gravity="center_vertical|center_horizontal"
android:visibility="gone"/>
gif没有任何问题,它们没有尾随的空格
这是设备上的样子
这是原始的gif
答案 0 :(得分:1)
我认为最好的方法是将gif包装在HTML中并使用CSS进行缩放:
String gif_url = "file:///android_asset/" + text.substring(1, text.length()-1) + ".gif";
String html = "<html><body><img style=\"width: 100%\" src=\"" + gif_url + "\"></body></html>";
holder.wv.loadData(html);
答案 1 :(得分:0)
我不得不手动编辑gif大小以使其适合窗口,而不是一种聪明的方法,但它是唯一的解决方案