项目场景:
环境:
flutter sdk : 1.17.4,
android studio :3.6.3,
android sdk : 29
问题描述:
flutter混合android后,flutter界面软键盘遮挡输入框,并且无法滚动页面
解决方案:
1,打开安卓的AndroidManifest.xml文件,查看是否添加了flutterActivity的activity <activity
android:name="io.flutter.embedding.android.FlutterActivity"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize" //此处设置为adjustResize
/>
2,依然在该xml文件中,找到安卓端对应的加载flutter页面的activity类,添加
<activity
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize"//最重要的是添加这句
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density"
android:name=".BaseFlutterActivity" />
3,若添加以上两个后还没有效果可在对应的加载flutter页面的activity类,在onCreate方法添加
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
4,若还是没有效果可在入口类MainActivity的oncreate方法上添加第三步的代码,同时在xml文件添加第一二步相同的代码