Closed lianfanghua closed 2 years ago
[✓] Flutter (Channel stable, 2.10.3, on macOS 11.6.5 20G527 darwin-x64, locale zh-Hans-CN) • Flutter version 2.10.3 at /Users/lfh/.fvm/versions/2.10.3 • Upstream repository https://github.com/flutter/flutter.git • Framework revision 7e9793dee1 (8 weeks ago), 2022-03-02 11:23:12 -0600 • Engine revision bd539267b4 • Dart version 2.16.1 • DevTools version 2.9.2 • Pub download mirror https://pub.flutter-io.cn • Flutter download mirror https://storage.flutter-io.cn
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3) • Android SDK at /Users/lfh/Library/Android/sdk • Platform android-31, build-tools 30.0.3 • ANDROID_HOME = /Users/lfh/Library/Android/sdk • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7590822) • All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1) • Xcode at /Applications/Xcode.app/Contents/Developer • CocoaPods version 1.11.3
[✓] Chrome - develop for the web • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2021.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 11.0.11+0-b60-7590822)
[✓] IntelliJ IDEA Ultimate Edition (version 2020.2.3) • IntelliJ at /Applications/IntelliJ IDEA.app • 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
[✓] Connected device (3 available) • MI 6 (mobile) • 98f5b511 • android-arm64 • Android 9 (API 28) • iPad mini (6th generation) (mobile) • B9C08480-8B05-46E4-9298-0D4FF0CE04BF • ios • com.apple.CoreSimulator.SimRuntime.iOS-15-2 (simulator) • Chrome (web) • chrome • web-javascript • Google Chrome 100.0.4896.127
遇到了同样的问题,所有输入框,只要键盘弹出就会报错
Can't find keyplane that supports type 5 for keyboard iPhone-PortraitTruffle-PhonePad; using 26000_PortraitTruffle_iPhone-Complex-Pad_Default
======== Exception caught by scheduler library =====================================================
The following assertion was thrown during a scheduler callback:
'package:flutter/src/rendering/object.dart': Failed assertion: line 2517 pos 12: 'attached': is not true.
Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
https://github.com/flutter/flutter/issues/new?template=2_bug.md
When the exception was thrown, this was the stack:
#2 RenderObject.getTransformTo (package:flutter/src/rendering/object.dart:2517:12)
#3 RenderBox.localToGlobal (package:flutter/src/rendering/box.dart:2603:39)
#4 RenderEditable._snapToPhysicalPixel (package:flutter/src/rendering/editable.dart:2238:33)
#5 RenderEditable.getLocalRectForCaret (package:flutter/src/rendering/editable.dart:1732:23)
#6 EditableTextState._updateCaretRectIfNeeded (package:flutter/src/widgets/editable_text.dart:2704:47)
#7 EditableTextState._updateCaretRectIfNeeded.<anonymous closure> (package:flutter/src/widgets/editable_text.dart:2708:49)
#8 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1144:15)
#9 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1089:9)
#10 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:995:5)
#14 _invoke (dart:ui/hooks.dart:151:10)
#15 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:308:5)
#16 _drawFrame (dart:ui/hooks.dart:115:31)
(elided 5 frames from class _AssertionError and dart:async)
====================================================================================================
刚刚又测试了下,不弹出键盘也会报错(用iPad mini模拟器)
刚刚又测试了下,不弹出键盘也会报错(用iPad mini模拟器)
已经强制使用 5.4.0+1
5.4.0+1虽然会触发rebuild,但是在真机上性能还是可以接受的,但是在模拟器上就惨不忍睹了
Sorry, version 5.5.0 is under development and is not stable yet.
will test
同样的问题 所有的输入框在弹起键盘时都会报错 收起键盘时也会报错
请先退回5.4
I am downgraded to 5.4.0+1 and still had the same issue when opening the keyboard with this error
The following assertion was thrown building MediaQueryFromWindow (state: _MediaQueryFromWindowState#0539d):
'package:flutter/src/widgets/framework.dart': Failed assertion: line 5356 pos 14: '() {
// check that it really is our descendar
dant
Element? ancestor = dependent._parent;
while (ancestor != this && ancestor != null)
ancestor ancestor._parent;
return ancestor == this;
}()': is not true.
I am downgraded to 5.4.0+1 and still had the same issue when opening the keyboard with this error
The following assertion was thrown building MediaQueryFromWindow (state: _MediaQueryFromWindowState#0539d): 'package:flutter/src/widgets/framework.dart': Failed assertion: line 5356 pos 14: '() { // check that it really is our descendar dant Element? ancestor = dependent._parent; while (ancestor != this && ancestor != null) ancestor ancestor._parent; return ancestor == this; }()': is not true.
Please confirm that the version of 5.4.0 + 1 is used, and then describe the problem
I fixed it temporarily by using 5.0.0+2 version and set MaterialApp builder context to ScreenUtil, something like this:
ScreenUtilInit(
builder: (_)=>MaterialApp(
builder: (context, widget) {
ScreenUtil.setContext(context);
return widget!;
},
title: appName,
)
),
Hope to fix the issue in the latest version
@ElshiatyTube thanks for your help
ScreenUtil.setContext(context);
solve the error when keyboard opened
but i had the same issue when i used .sp
in textStyle in ThemeData which throw the same error here and i solve it by remove this .sp
from TextStyle
@ahmednasser74 @ElshiatyTube @lizhuoyuan @meng-fucius @shichunlei @lianfanghua , Please try with master branch and tell us if it works with you so we can ship a stable version in pub.dev.
dependencies:
flutter_screenutil:
git:
url: https://github.com/OpenFlutter/flutter_screenutil
branch: master
setContext被删除了吗?
error: The method 'setContext' isn't defined for the type 'ScreenUtil'.
另外在init中,context也直接传null,也就是说完全放弃和上下文的关系?
ScreenUtil.init(
null,
deviceSize: constraints.biggest,
designSize: designSize,
splitScreenMode: splitScreenMode,
minTextAdapt: minTextAdapt,
);
由于context为null,因此statusBarHeight和bottomBarHeight永远为0,这是对的吗?
而之前的异常已经不会出现了。键盘弹起缩回也不会导致rebuild了。
如果这个版本是稳定版,请同时更新使用方法,谢谢。
@lianfanghua 嗨,我的朋友,我们仍然支持上下文,在保存文件之前推送更改只是一个错误。 现在尝试使用 master 分支。
@lianfanghua 是的,当我们确保一切都按预期工作时,我们将更新 README。
非常感谢您的帮助和反馈。
Hi @lianfanghua , I have recently publish the new version of the library. Go check it out and if it works fine for you please close this issue, or else drop error log here. Thank you.
@Mounir-Bouaiche 问题已经修复了,非常感谢。
升级5.5.0后,点击输入框,弹起键盘,会出现如下错误:
同时输入框丢失焦点时也会报错:
退回5.4.0+1,除了触发多次rebuild外,一切正常。