flutter中键盘遮挡了webview_flutter中的输入框input解决办法

  1. iOS系统解决办法:(同时解决了闪屏问题,估计是iOS加入了IOKeyboardManager类库同时操作的问题)

参考flutter 中 键盘遮挡了webview_flutter中的输入框input 解决办法 - 简书

只需要将resizeToAvoidBottomInset设置为 false

Dart 复制代码
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      resizeToAvoidBottomInset: false,
      body: Builder(builder: (BuildContext context) {
        return WebView(
          initialUrl: 'https://www.baidu.com/',
        );
      }),
    );
  }
  1. Android系统解决办法:

获取键盘状态,滚动webview

Dart 复制代码
// 假设你需要滚动到特定的元素
                    _controller.evaluateJavascript('document.getElementById("inputElementId").scrollIntoView();');

我的处理方法更简单一点,针对特定的网页,直接滚动到一个固定的值,代码写在方法

复制代码
Widget build(BuildContext context) {...}里面
Dart 复制代码
    if(Platform.isAndroid&&widget.url.contains("common/User_feedback.html")&&MediaQuery.of(context).viewInsets.bottom>0) {
      Future.delayed(Duration(milliseconds: 100), () {
        _controller.scrollTo(0, 500);
      });
    }
相关推荐
书弋江山17 小时前
flutter 跨平台编码库 protobuf 工具使用
android·flutter
程序员老刘·17 小时前
Flutter 3.35 更新要点解析
flutter·ai编程·跨平台开发·客户端开发
tangweiguo0305198717 小时前
Flutter vs Android:页面生命周期对比详解
flutter
tangweiguo0305198717 小时前
Flutter网络请求实战:Retrofit+Dio完美解决方案
flutter
来来走走19 小时前
Flutter开发 webview_flutter的基本使用
android·flutter
落魄的Android开发21 小时前
Flutter以模块化适配 HarmonyOS方案的实现步骤
flutter
tangweiguo030519871 天前
Flutter GetX 全面指南:状态管理、路由与依赖注入的最佳实践
flutter
来来走走1 天前
Flutter Form组件的基本使用
android·flutter
fouryears_234172 天前
Flutter InheritedWidget 详解:从生命周期到数据流动的完整解析
开发语言·flutter·客户端·dart
LinXunFeng2 天前
Flutter - 详情页 TabBar 与模块联动?秒了!
前端·flutter·开源