flutter如何让输入框软键盘自动上移

更新时间:2023-05-25 21:55
在Flutter中,您可以使用SingleChildScrollView来解决软键盘遮盖输入框的问题。  首先,您需要将SingleChildScrollView包装在您的布局的根节点中。然后,您可以使用一个Builder widget,它可以获取到当前的BuildContext。最后,您可以使用

 
import 'package:flutter/material.dart';

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SingleChildScrollView(
        child: Builder(
          builder: (context) => Padding(
            padding: EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.bottom),
            child: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                TextField(),
                RaisedButton(
                  child: Text('Submit'),
                  onPressed: () {},
                ),
              ],
            ),
          ),
        ),
      ),
    );
  }
}


  这样,当用户聚焦输入框时,软键盘将会自动上移,以防止遮盖输入框。