颤振 - 键盘没有出现,并且不停留在所选字段
键盘与TextField
无法正常工作。颤振 - 键盘没有出现,并且不停留在所选字段
下面的代码我把14 TextField
,但是当点击例如在字段14键盘不会出现,它不低于TextField
挖掘。
你能帮我解决这个键盘问题没有出现,并没有让我在选定的领域下是?
import 'package:flutter/material.dart';
void main() {
runApp(new MaterialApp(home: new HomePage()));
}
class HomePage extends StatefulWidget {
@override
HomePageState createState() => new HomePageState();
}
class HomePageState extends State<HomePage> {
final TextEditingController _controller = new TextEditingController();
@override
Widget build(BuildContext context) {
return new Scaffold(
body: new Stack(
children: <Widget>[
new ListView(
shrinkWrap: true,
children: <Widget>[
new TextField(
controller: _controller,
decoration: new InputDecoration(
hintText: 'Type something 1',
),
),
new TextField(
controller: _controller,
decoration: new InputDecoration(
hintText: 'Type something 2',
),
),
new TextField(
controller: _controller,
decoration: new InputDecoration(
hintText: 'Type something 3',
),
),
new TextField(
controller: _controller,
decoration: new InputDecoration(
hintText: 'Type something 4',
),
),
new TextField(
controller: _controller,
decoration: new InputDecoration(
hintText: 'Type something 5',
),
),
new TextField(
controller: _controller,
decoration: new InputDecoration(
hintText: 'Type something 6',
),
),
new TextField(
controller: _controller,
decoration: new InputDecoration(
hintText: 'Type something 7',
),
),
new TextField(
controller: _controller,
decoration: new InputDecoration(
hintText: 'Type something 8',
),
),
new TextField(
controller: _controller,
decoration: new InputDecoration(
hintText: 'Type something 9',
),
),
new TextField(
controller: _controller,
decoration: new InputDecoration(
hintText: 'Type something 10',
),
),
new TextField(
controller: _controller,
decoration: new InputDecoration(
hintText: 'Type something 11',
),
),
new TextField(
controller: _controller,
decoration: new InputDecoration(
hintText: 'Type something 12',
),
),
new TextField(
controller: _controller,
decoration: new InputDecoration(
hintText: 'Type something 13',
),
),
new TextField(
controller: _controller,
decoration: new InputDecoration(
hintText: 'Type something 14',
),
),
],
)
]
)
);
}
}
您不应该让所有文本字段共享相同的TextEditingController
。每个使用一个单独的控制器。
谢谢你的键盘出现!但由于它们是键盘后面的最后一个,所以字段11至14。是否可以将键盘留在选定的字段下? – rafaelcb21
这听起来像是你正在运行到https://github.com/flutter/flutter/issues/10826,它有一个问题的解决方法,直到最终的修复程序到位。 –
谢谢,你的代码在https://gist.github.com/collinjackson/50172e3547e959cba77e2938f2fe5ff5完美工作(在57行我增加到600毫秒)。你知道什么时候最终的解决方案会来吗? – rafaelcb21
我无法重现的错误,一切似乎都正常工作。检查您的Flutter SDK是否已更新(运行flutter doctor
)。您是否尝试将目标平台更改为IOS以查看错误是否仍然存在?
我没有mac和iOS。你尝试在iOS上玩吗? – rafaelcb21
我试过了,一切都很顺利。您可以通过在您的应用主题中设置自定义TargetPlatform来“模仿”IOS行为。尝试使用另一个键盘,看看是否有帮助。 – icazevedo
前几天我有类似的问题 - 键盘出现,如果你把应用程序在后台,然后再次在前台? (然后再次点击'TextField'?)。我知道这并不能帮助你,但是看到它是否是相同的行为会很有趣...... –
@ david.mihola但我该怎么做呢? – rafaelcb21