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);
      });
    }
相关推荐
一叶难遮天7 小时前
Dart语言之面向对象
flutter·面向对象·dart·方法·mixins·泛型·抽象类
汤面不加鱼丸7 小时前
flutter实践:DropdownButton2使用示例
flutter
心随雨下7 小时前
Flutter Material 3设计语言详解
javascript·flutter·设计语言
猫林老师7 小时前
Flutter for HarmonyOS开发指南(六):测试、调试与质量保障体系
flutter·华为·harmonyos
stringwu13 小时前
Flutter DevTools 全景介绍
flutter
GISer_Jing15 小时前
跨平台Hybrid App开发实战指南
android·flutter·react native
猫林老师1 天前
Flutter for HarmonyOS开发指南(八):国际化与本地化深度实践
flutter·华为·harmonyos
dragon7251 天前
FutureProvider会刷新两次的问题研究
前端·flutter
2501_915909061 天前
Flutter 应用怎么加固,多工具组合的工程化实战(Flutter 加固/Dart 混淆/IPA 成品加固/Ipa Guard + CI)
android·flutter·ios·ci/cd·小程序·uni-app·iphone