#android #flutter #keyboard
Вопрос:
Клавиатура не отображается на устройствах Android 12, появляется надпись, указывающая, что клавиатура включена, но ничего не отображается. Он работает должным образом для более старых версий Android.
Клавиатура отлично работает в других приложениях, а также отлично работает с симулятором, имеющим версию Android, отличную от Android 12. Пробовал с физическим устройством, также Pixel с Android 12 сталкивается с той же проблемой.
код доктора flutter —
flutter doctor -v
[✓] Flutter (Channel stable, 2.2.3, on macOS 11.4 20F71 darwin-x64, locale en-IN)
• Flutter version 2.2.3 at /Users/uable/Downloads/flutter
• Framework revision f4abaa0735 (4 months ago), 2021-07-01 12:46:11 -0700
• Engine revision 241c87ad80
• Dart version 2.13.4
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
• Android SDK at /Users/uable/Library/Android/sdk
• Platform android-31, build-tools 31.0.0
• ANDROID_HOME = /Users/uable/Library/Android/sdk
• ANDROID_SDK_ROOT = /Users/uable/Library/Android/sdk
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
• All Android licenses accepted.
[!] Xcode - develop for iOS and macOS
✗ Xcode installation is incomplete; a full installation is necessary for iOS development.
Download at: https://developer.apple.com/xcode/download/
Or install Xcode via the App Store.
Once installed, run:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -runFirstLaunch
• CocoaPods version 1.10.2
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 4.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
[✓] Connected device (2 available)
• sdk gphone64 x86 64 (mobile) • emulator-5554 • android-x64 • Android 12 (API 31) (emulator)
• Chrome (web) • chrome • web-javascript • Google Chrome 95.0.4638.54
! Doctor found issues in 1 category.
Ниже приведено изображение простого текстового поля с включенной клавиатурой, также пытались изменить все свойства текстового поля. Это существующее приложение, поэтому я попытался протестировать существующие текстовые поля даже в тех, которые показывают одинаковое поведение.
настройки Android gradle
minSdkVersion 24
targetSdkVersion 30
Комментарии:
1. Привет, Шаран, ты исправил эту ошибку? Я сталкиваюсь с той же проблемой!
2. @Abdel да, в файле манифеста Android вы должны установить android: hardwareAccelerated =»true»
3. У меня такая же проблема, просто попытался добавить android: hardwareAccelerated=»true», но, похоже, это ничего не изменило. В моем случае это веб-просмотр Flutter, который не запускает отображение клавиатуры.
4. Сталкиваюсь с теми же проблемами, что и @theLastNightTrain: флаг
android:hardwareAccelerated="true"
установлен правильно, и мой webview не показывает клавиатуру … (правда, только на Android 12, на физическом устройстве …)5. Итак, на физическом устройстве Android 12, в webview, что исправило это для меня, так это использовать
(Platform.isAndroid) WebView.platform = SurfaceAndroidWebView();
. По сути, перевод webview в режим гибридной композиции (см. pub.dev/packages/webview_flutter )
Ответ №1:
Я думаю, что это ошибка, потому что эта ошибка симулятора с системным интерфейсом, вы можете стереть данные симулятора, а затем запустить снова
Ответ №2:
Перейдите в Android simulator -> tools -> AVD Manager -> Выберите устройство, на котором вы работаете, wipedata
и запустите его снова.
Если это не работает, выберите другое устройство и попробуйте его.
Не уверен, это может быть проблема simulator
.
Комментарии:
1. Клавиатура отлично работает в других приложениях, а также отлично работает с симулятором, имеющим версию Android, отличную от Android 12. Пробовал с физическим устройством Pixel также с Android 12, столкнувшимся с той же проблемой.
2. @SharanSingh Вы нашли решение?
3. @SharanSingh есть какие-либо обновления? я столкнулся с той же проблемой
Ответ №3:
в качестве официального документа webview flutter помещен
if (Platform.isAndroid) WebView.platform = AndroidWebView();
в вашем Main.dart