Bri*_*den 1 flutter flutter-layout
使用ScrollControllerand TextFormField FocusNodetoscrollController.animateTo scrollController.position.maxSCrollExtent当键盘显示 to 以进入TextFormField我的“提交”按钮上方时,我无法在视图底部显示我的“提交”按钮。
注意我已经尝试将resizeToAvoidBottomInsetset 设置为 true 和 false。
我的SingleChildScrollView代码片段
ScrollConfiguration(
behavior: ScrollBehaviorHideSplash(),
child: SingleChildScrollView(
controller: _scrollController,
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[...widgets
Run Code Online (Sandbox Code Playgroud)
我的 FocusNode 聚焦功能:
void _scrollToBottom() {
print('scrollToBottom');
_scrollController.animateTo(
_scrollController.position.maxScrollExtent,
curve: Curves.easeOut,
duration: const Duration(milliseconds: 750),
);
}
Run Code Online (Sandbox Code Playgroud)
我也试过 _scrollController.position.maxScrollExtent + 400.0以防万一。
小智 5
尝试这个:
Timer(Duration(milliseconds: 100), () {
_scrollController.animateTo(
_scrollController.position.maxScrollExtent,
curve: Curves.easeOut,
duration: const Duration(milliseconds: 750),
);
});
Run Code Online (Sandbox Code Playgroud)
有点hacky但是在滚动动画之前添加Timer解决了我的问题,我猜listview需要一些时间来添加新项目。
| 归档时间: |
|
| 查看次数: |
798 次 |
| 最近记录: |