在WebView中禁用捏合缩放?

15
我正在开发一个应用,其中在 WebView 中显示一些内容。我正在对这些内容进行样式设计以适应屏幕,并且不需要缩放。是否有一种方法可以关闭 WebView 的缩放功能?
2个回答

22
wv.getSettings().setSupportZoom(false);

这是你想要的,使用setBuiltInZoomControls无法禁用多点触控缩放,但是以下方法可以。需要注意的是,根据设备的不同,缩放可能已经被默认禁用了。我有一个包含WebView的应用,在我的HTC G2上它根本不允许我进行缩放。但是在Galaxy Tablet上,完全相同的代码将允许缩放。


1
有趣。我从这个问题中使用了两个建议(甚至将它们结合在一起),但我仍然可以在我的Nook Color上对WebView进行捏合缩放。 - thedude19

9
你可以在WebSettings上尝试使用setBuiltInZoomControls(false)。我认为这将控制所有形式的缩放,包括多点触控。
但是,请注意以下几点:
  • Android中有不止一种屏幕大小,适合QVGA 2.8英寸屏幕的内容和适合10英寸平板电脑的内容并不相同。

  • 用户可能因为视力差等原因需要进行缩放。


1
默认情况下,缩放是被禁用的。需要将 setBuiltInZoomControls 和 setSupportZoom 都设置为 true 才能启用缩放。 - gngr44
有趣。我从这个问题中使用了两个建议(甚至将它们结合在一起),但我仍然可以在我的Nook Color上对WebView进行捏合缩放。 - thedude19
@thedude19:就此而言,Nook Color不是一个适合的测试平台,除非你只是为了测试你的应用在Nook Color上的运行。因为Nook Color上没有安装Android Market,所以不需要满足任何兼容性规范或通过任何兼容性测试。 - CommonsWare
@CommonsWare,那并不是完全正确的。NookColor可能不是一个合适的测试平台,因为它是一款平板电脑,但是完全可以在上面安装接近于原生安卓的CyanogenMod 7系统。当市场上几乎每个其他应用程序都能在CM的NookColor上正常运行时,我认为它应该是一个很好的测试平台。您可能是对的,但我不这么认为,特别是不是因为您所说的原因。 - user825806

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接