如何在JavaScript或HTML中调整动画gif的大小

时间:2012-12-02 16:54:35

标签: javascript android html animated-gif

我需要在适用于Android的SplashScreen上显示动画。我想调整屏幕高度的大小。我可以使用webView和javascript成功地适应屏幕。但是我无法调整它的大小:):

我写了我的代码,也许有人会需要它..

这是index.html中的html代码(我可以在Java上编写它,但我无法显示使用的动画gif)

<html>
<head>
<title></title>
</head>
<body style="padding: 0; margin: 0">
<script type="text/javascript">

function resize(image)
{
    var differenceHeight = document.body.clientHeight - image.clientHeight;
    var differenceWidth  = document.body.clientWidth  - image.clientWidth;
    if (differenceHeight < 0) differenceHeight = differenceHeight * -1;
    if (differenceWidth  < 0) differenceWidth  = differenceWidth * -1;

    if (differenceHeight > differenceWidth)
    {
        image.style['height'] = document.body.clientHeight + 'px';
    }
    else
    {
        image.style['width'] = document.body.clientWidth + 'px';
    }

    // Optional: remove margins or compensate for offset.
    image.style['margin'] = 0;
    document.body.style['margin'] = 0;
}

</script>
<img src="file:///android_asset/html/screen1.gif"
     onload="resize(this);"/>
</body>
</html>

这是我的WebView:

    WebView webView = (WebView) findViewById(R.id.webView);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.setVerticalScrollBarEnabled(false);
    webView.loadUrl("file:///android_asset/html/index.html");

1 个答案:

答案 0 :(得分:0)

您需要比较图像的高度和宽度与显示器高度和宽度的比率。

var imageRatio = image.clientHeight / image.clientWidth;
var clientRatio = document.body.clientHeight / document.body.clientWidth;

if (imageRatio > clientRatio)
{
    image.style['height'] = document.body.clientHeight + 'px';
}
else
{
    image.style['width'] = document.body.clientWidth + 'px';
}