2

大家好,美好的一天。

我发现使用 WebView 显示 GIF 动画很容易,因为它相当简单。

现在我显示的 GIF 大小为 800x800px。我想要的是这个 GIF 适合它可用的屏幕,可能与类似的父级匹配,这样就不必滚动或放大/缩小图片。它只是自动适合任何可用的屏幕。

我用于实验的设备是:GT-I9100/Samsung Galaxy SII,屏幕尺寸为 800x480px。

这是我的主要活动中的一段代码:

HToad view = new HToad(this, "file:///android_asset/hypnotoad.gif");
view.setInitialScale(30);
view.getSettings().setUseWideViewPort(true);
setContentView(view);

这是 HToad 类:

import android.content.Context;
import android.webkit.WebView;

public class HToad extends WebView {

    public HToad(Context context, String path) {
        super(context);
        // TODO Auto-generated constructor stub
        loadUrl(path);
    }

}

我尝试使用 LayoutParams 和 IntialSize 等各种设置,但都没有帮助我实现我想要的。

我将 JAVA 用于 WebView,而不是在 XML 中定义 WebView。

先感谢您。

4

1 回答 1

1

尝试使用 loadData 方法而不是 loadUrl 加载您的 gif,并添加如下 CSS 样式:

<style type='text/css'>
    img {max-width: 100%;height:initial;}
</style>

最后你必须得到这样的东西:

setBackgroundColor(Color.TRANSPARENT);
loadData("<style type='text/css'> img {max-width: 100%;height:initial;}</style>" +
         "<img align='middle' src='file:///android_asset/hypnotoad.gif'/>", "text/html", "utf-8");
reload();

我希望我对你有所帮助。

于 2013-04-09T14:28:45.847 回答