Android 如何在webview_颤振插件上使用收缩缩放
我正在尝试在webview_颤振插件/插件中使用Pinch Zoom。 这是一个简单的测试应用程序,我指的是本教程作为指南 我在中添加了此手势识别器代码Android 如何在webview_颤振插件上使用收缩缩放,android,flutter,webview,Android,Flutter,Webview,我正在尝试在webview_颤振插件/插件中使用Pinch Zoom。 这是一个简单的测试应用程序,我指的是本教程作为指南 我在中添加了此手势识别器代码 Widget build(BuildContext context) { return Scaffold( appBar: AppBar(), body: Column( children: [ Expanded( child: WebView(
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: Column(
children: [
Expanded(
child: WebView(
key: _key,
javascriptMode: JavascriptMode.unrestricted,
initialUrl: _url,
gestureRecognizers: Set()..add(Factory < VerticalDragGestureRecognizer > (
() => VerticalDragGestureRecognizer()))..add(Factory < ScaleGestureRecognizer > (
() => ScaleGestureRecognizer())), ))
],
));
}
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(),
正文:专栏(
儿童:[
扩大(
孩子:网络视图(
键:_键,
javascriptMode:javascriptMode.unrestricted,
初始url:\u url,
手势识别器:Set()…添加(工厂(
()=>VerticalDraggesturererecognizer())…添加(工厂(
()=>scalegesturererecognizer()),)
],
));
}
但它不支持任何收缩缩放功能
我正在用两个不同的Android设备进行测试,一个运行Android OS 8.0,另一个运行Android OS 7.0。
我正在使用最新的颤振测试版
感谢您提供帮助或提示,以使此功能正常工作。
谢谢。您可以这样使用:
return new MaterialApp(
title: 'Flutter WebView Demo',
theme: new ThemeData(
primarySwatch: Colors.blue,
),
routes: {
'/': (_) => const MyHomePage(title: 'Flutter WebView Demo'),
'/widget': (_) => new WebviewScaffold(
url: selectedUrl,
appBar: new AppBar(
title: const Text('Widget webview'),
),
withZoom: true, // zoom
withLocalStorage: true,
hidden: true,
initialChild: Container(
color: Colors.redAccent,
child: const Center(
child: Text('Waiting.....'),
),
),
),
},
);
默认情况下,在iOS上启用“收缩到缩放” 遵循此拉取请求并修改
webview.java
以在android上启用它:
颤振插件>网络视图\u颤振-2.0.2> /android/src/main/java/io/flatter/plugins/webviewflatter/flatterwebview.java 我只在更改此文件和添加此代码时得到了以下结果:
// Allow zoom.
webView.getSettings().setBuiltInZoomControls(true);
// Hide buttons.
webView.getSettings().setDisplayZoomControls(false);
*和《罗文辉》一样。你确定iOS变焦吗?我刚在iOS设备上试用过,但“捏缩缩放”不起作用。@kakyo你能提供更多的上下文吗?物理ios设备还是模拟器?哪个插件-webview\u flatter或flatter\u webview\u插件?测试哪些网站页面?等等。我当时使用的是iPhone6s,运行的是iOS 13,带有
webview\u flatter
。这是我应用程序资产文件夹中的一个本地html文件。@kakyo我猜你的本地html不支持pinch to zoomI,刚刚用webview的最新github副本测试了这个例子,试图打开一个网站,但在iOS上仍然没有pinch。使用快速电子测试应用程序,缩放可以很好地处理我的html文件。