1

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");
4

1 に答える 1

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';
}
于 2012-12-02T17:09:53.060 に答える