项目场景:
Flutter + 原生 混合开发
问题描述及解决方案:
1.IOS键盘弹出后点击空白不消失,及键盘遮挡问题: // 根布局添加滚动(键盘遮挡问题)并在直接子控件下添加 GestureDetector事件(点击空白键盘收起):
SingleChildScrollView(
child: GestureDetector(
behavior: HitTestBehavior.translucent,
onTap: () {
// 触摸收起键盘
FocusScope.of(context).requestFocus(FocusNode());
},
child: .....
)
)
// 注意(键盘遮挡问题)Android需要在 Activity清单文件下添加: android:windowSoftInputMode="adjustResize"
1.IOS 无 Done 按钮:
TextFiled添加属性: textInputAction: TextInputAction.done,
3.IOS 侧滑直接返回多个页面(返回至第一个页面)
// 1.Navigator 跳转时路由使用 CupertinoPageRoute()
Navigator.of(context)
.push(CupertinoPageRoute());
// 2.检查上下文使用,保证当前Widget树节点只有一个 MaterialApp()
// 如:A->B->C 只需在A的根节点设置MaterialApp()