Closed uniquejava closed 5 years ago
可以具体说下你是在什么情况出现的吗
可以具体说下你是在什么情况出现的吗
@Im-Kevin 谢谢, 这个问题解决了。
我这边的自定义键盘和你example中的height不一样, 我在构建时给了它一个固定值202.。如下。。 这样直接改height界面能出来, 但是会出现如上各种问题
解决办法, 修改getHeight(context)方法, 让它返回固定值202..
问题多多的代码:
Widget build(BuildContext context) {
MediaQueryData mediaQuery = MediaQuery.of(context);
return Material(
child: DefaultTextStyle(
style: TextStyle(fontWeight: FontWeight.w500, color: Colors.black),
child: Container(
// height: getHeight(context),
height: 202,
width: mediaQuery.size.width,
改成如下 , 问题解决! 🎀
static double getHeight(BuildContext ctx) {
return 202;
}
...
return Material(
child: DefaultTextStyle(
style: TextStyle(fontWeight: FontWeight.w500, color: Colors.black),
child: Container(
height: getHeight(context),
[VERBOSE-2:ui_dart_state.cc(148)] Unhandled Exception: setState() or markNeedsBuild() called when widget tree was locked. This KeyboardMediaQuery widget cannot be marked as needing to build because the framework is locked. The widget on which setState() or markNeedsBuild() was called was: KeyboardMediaQuery(dependencies: [MediaQuery], state: KeyboardMediaQueryState#c8633)
0 Element.markNeedsBuild.
package:flutter/…/widgets/framework.dart:3520
1 Element.markNeedsBuild
package:flutter/…/widgets/framework.dart:3529
2 State.setState
package:flutter/…/widgets/framework.dart:1133
3 KeyboardMediaQueryState.update
package:cool_ui/keyboards/keyboard_media_query.dart:28
4 CoolKeyboard.hideKeyboard
package:cool_ui/keyboards/keyboard_manager.dart:164
5 CoolKeyboard.interceptorInput.
package:cool_ui/keyboards/keyboard_manager.dart:57