如何设置image / WebView高度/宽度以匹配父级?

时间:2013-02-04 21:02:42

标签: android android-webview android-animation

大家好,祝你好运。

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

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

我用于实验的设备是:GT-I9100 /三星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。

提前谢谢。

1 个答案:

答案 0 :(得分:1)

尝试使用loadData方法加载你的gif而不是loadUrl并添加这样的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();

我希望我帮助过你。