2010-03-17 64 views
6

我想在Android上使用Webview显示来自url的图像。Android:在Webview上从Url以高质量丢失显示的图像

使用版本1.5和1.6的Android手机没有问题。但是2.0版本的AndroidPhone上的相同图片和相同代码并且图片总体像素化。

与Android相似,首先将图像大小调整为较小的一个,然后将其调整为“正常”大小。

不幸的是,它显示图片没有任何质量损失的重要。

我试图将它整合到源文件夹中以将其显示为正常图像,但在Android 2.0中,我得到一个异常,因为图像很大。 (在Android 1.6没有问题)

任何想法如何显示图像没有质量损失与Android 2.0?

+0

您可能会考虑在相关图像中张贴URL。 – CommonsWare 2010-03-17 12:01:51

回答

3

如果您还没有这样做它,将它添加到您的清单:

<supports-screens 
     android:largeScreens="true" 
     android:normalScreens="true" 
     android:smallScreens="true" 
     android:resizeable="true" 
     android:anyDensity="true" /> 

没有这一点,一切都将被缩小。

另外,如果你不想你的设备/仿真器通过把一个一个更高分辨率版本为华电国际文件夹

res/drawable-ldpi/my_icon.png  // icon image for low density 
res/drawable-mdpi/dpi/my_icon.png // icon for medium density 
res/drawable-hdpi/my_icon.png  // icon image for high density 
+0

感谢您的回答,但每当我尝试添加“android:resizable = true”时都会出现错误。看来他不知道这个参数。或者我还需要添加其他东西?我试过minSdkVersion = 4. – Merlino 2010-04-06 07:52:34

+0

我不认为应该有更多的需要做出resizable =真正的工作。我使用minSdk 3和targetSdk = 5 ...但我不认为这应该有所作为。即时通讯使用<使用-SDK \t \t安卓的minSdkVersion = “3” \t \t机器人:targetSdkVersion = “5”/> – 2010-04-06 13:27:24

+0

如果你试图用图像添加ImageView的会发生什么,莫非是ImageView的也得到扩展。你看到图像上有任何文物吗? (只是为了测试你的应用是否缩放视图) – 2010-04-06 13:29:55

1

使用android:resizeable="true"而不是android:resizable="true"缩放您可绘你必须为每个密度创建绘图资源。 有一个缺少"e"

+0

不是吗?这说它是'resizable':http://developer.android.com/guide/practices/screens_support.html – 2010-06-07 18:08:07

0

长时间这个线程是在这里,但这里是我的两分钱:

这样做,我花了两天的时间找出我的问题是同样的事情:

在我的一个电话,我是用无线,另一个我通过我的运营商在边缘连接。

原来世界各地的大多数运营商都使用代理来缩小图像以减轻网络负担。裁员非常困难,质量非常差。

因此,在我的情况下,它不是由于我认为的框架版本,而是由我使用的连接类型。

+0

我从网上下载了一张图片。如果我在web视图中打开本地文件,它将被像素化。如果我在imageview中打开文件,它不再是像素化的,但我无法再放大。 – Janusz 2011-08-03 10:03:24

+0

这可能是由于webview发出的请求包含isp使用的MIME类型以触发缩减比例。虽然imageview可能要求二元转移。但不知道。只是你知道,可以使用你下载的图像创建一个本地html文件,你将在webview中显示获得缩放能力。有些繁琐,但它的作品。或者你可以看看:http://code.google.com/p/android-pinch/ – Yahel 2011-08-05 10:03:39

0

无论如何,我认为这是WebView控件的一种奇怪行为。当您通过自己的服务器提供图像时,有一个小的解决方法是有用的。如果图像是PNG格式,则可以将颜色深度设置为8位。尽管它会降低颜色质量,但放大后图像不会模糊。

+0

事实上,8位颜色深度有助于减少内存使用量,但在图像尺寸过大时仍有机会丢失数量。 – superuser 2016-09-06 07:14:22