#dart #flutter
#дротик #флаттер
Вопрос:
Нормальная ситуация
При открытии клавиатуры
Он показывает ошибку переполнения
При resizeToAvoidBottomInset
включении
Текстовое поле скрыто под клавиатурой
Код:
void main() => runApp(MaterialApp(home: HomePage()));
class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
// resizeToAvoidBottomInset: false, // including this hides TextField beneath Keyboard
body: Column(
children: <Widget>[
FlutterLogo(size: 500),
TextField(decoration: InputDecoration(hintText: " Enter something here ...")),
Expanded(child: FlutterLogo(size: 300)),
],
),
);
}
}
Редактировать:
Я хочу TextField
, чтобы он автоматически прокручивался вверх, когда он находится в фокусе, это также означает, что FlutterLogo1 также должен прокручиваться вверх, а FlutterLogo2 должен быть под клавиатурой. (Это очень распространенное поведение в Android изначально, все обрабатывается за вас)
Комментарии:
1. Каков ваш ожидаемый пользовательский интерфейс? Я думаю, вам нужен полноэкранный логотип и текстовое поле на нем, ну, для такой вещи, почему бы вам не использовать stack. и вы указали жестко заданный размер, т.е. 500 в вашем пользовательском интерфейсе, что неправильно, поскольку при таком подходе вероятность переполнения больше.
2. @KalpeshKundanani Я отредактировал вопрос, чтобы добавить больше информации о том, что я ищу.
Ответ №1:
Я думаю, это сработает.
void main() => runApp(MaterialApp(home: HomePage()));
class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
// resizeToAvoidBottomInset: false, // including this hides TextField beneath Keyboard
body: Stack(
children: <Widget>[
FlutterLogo(size: 500),
Column(children: <Widget>[
Container(
margin: EdgeInsets.fromLTRB(0.0, 200.0, 0.0, 0.0),
child: TextField( decoration: InputDecoration(hintText: " Enter something here ..."))),
Expanded(child: FlutterLogo(size: 300)),
],)
],
),
);
}
}
Комментарии:
1. Не очень хороший ответ,
TextField
он будет показан поверх 1-гоFlutterLogo
.2. Спасибо за ответ, но, к сожалению, я не ищу обходного пути для использования
Stack
.