如何使gif图像适合Android上的WebView

时间:2014-04-28 06:10:09

标签: android image webview gif

我正在使用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没有任何问题,它们没有尾随的空格

这是设备上的样子

enter image description here

这是原始的gif

enter image description here

2 个答案:

答案 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大小以使其适合窗口,而不是一种聪明的方法,但它是唯一的解决方案