flutter - 如何在单击文本字段时强制屏幕向下滚动?

标签 flutter

我有这段代码,当我点击文本字段时,它确实出现在键盘上方的屏幕中间,但它非常紧密地贴合在那里,它下面的文本没有出现。我怎样才能做到这一点,当我点击文本字段时,滚动足以显示它下面的文本?

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {


  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: SingleChildScrollView(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.end,
            children: <Widget>[
              SizedBox(height: 600,),
              TextField(
              ),
              SizedBox(height: 30,),
              Text("I want this text to appear ")
            ],
          ),
        ),
      ),
    );
  }
}

最佳答案

enter image description here

对此没有确切的解决方案,但是您可以使用 ScrollController 滚动 SingleChildScrollView 中的其余区域

ScrollController _scrollController = ScrollController();

@override
Widget build(BuildContext context) {
  return Scaffold(
    body: SingleChildScrollView(
      controller: _scrollController,
      child: Column(
        children: <Widget>[
          SizedBox(height: 600),
          TextField(
            onTap: () {
              Timer(Duration(milliseconds: 200), () {
                _scrollController.jumpTo(_scrollController.position.maxScrollExtent);
              });
            },
          ),
          SizedBox(height: 30),
          Text("I want this text to appear "),
        ],
      ),
    ),
  );
}.

关于flutter - 如何在单击文本字段时强制屏幕向下滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56792885/

相关文章:

Flutter使容器高度match_parent

dart - 在 Flutter 中将图像对齐到左上角

flutter - 如何防止对象在每次调用时被重新初始化? - Dart/flutter

ios - 未绑定(bind)变量命令 PhaseScriptExecution 失败,退出代码非零

flutter - 如何在 SliverAppBar 底部添加一个 Button 并使其在 ExtentList 上重叠?

ios - 如何为 Flutter 应用程序的 iOS 部分集成 Firebase Crashlytics?

flutter - 如何在flutter中从Stripe信用卡获取tokenID

flutter - 局部变量 'basename'在声明之前无法被引用/Flutter

flutter - 根据存储在flutter中的共享首选项中的“记住我”状态导航到屏幕

flutter - MethodChannel、EventChannel 和 BasicMessageChannel 有什么区别?