我正在编写一个应用程序,其中一个功能是显示来自我们的Web服务器的图像。 来自Web服务器的图像大小不一。它将显示在屏幕中央。 当图像大于屏幕尺寸时,它将调整大小以适应屏幕,用户可以捏合缩放。 当图像小于屏幕尺寸时,将不会调整其大小。
我尝试过:我尝试实现自定义imageView以允许缩放,但似乎需要进行许多计算。 然后我发现许多程序员通过webview来做这件事。
现在它可以缩放,并放置在屏幕的中心。问题是当图像小于屏幕尺寸时,它也显示适合的屏幕。
问题,是否有任何方法可以获得图像大小的内部宽度,以便我可以用它来确定图像的比例?或者有更好的方法来实现这一目标吗?
以下是我使用的代码,非常感谢!
final String html = "<body bgcolor=black>"
+ "<table width=100% height=100%><tr><td><center><img src=\""
+ userProfile.getImageUrl()
+ "\" width=100% /></center></td></tr></table>" + "</body>";
WebSettings settings = mWebView.getSettings();
settings.setBuiltInZoomControls(true);
settings.setSupportZoom(true);
settings.setUseWideViewPort(true);
settings.setLightTouchEnabled(true);
settings.setLoadWithOverviewMode(true);
mWebView.loadDataWithBaseURL("fake://not/needed", html, "text/html",
"utf-8", "");
答案 0 :(得分:0)
利用
settings.setLayoutAlgorithm(PARAMETER OF YOUR CHOICE);
不确定这是否有助于您仍然可以尝试
编辑:首先你可以使用
Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
int screenWidth = display.getWidth();
int screenHeight = display.getHeight();
要查找屏幕宽度和高度,您可以使用
缩放图像 resizedImage = Bitmap.createScaledBitmap( image, imageWidth, imageHeight, true);
使用这种方法,您可以在屏幕上完整显示图像而无需任何WebView