我需要在适用于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");
答案 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';
}