У меня есть TextField
во Flutter. Он находится внизу экрана, например:
Я поставил несколько Text
, прежде чем переместить его вниз, для этого примера. Когда я фокусируюсь TextField
, появляется переполненная область:
Как избавиться от этой области? Один из вариантов — отображать клавиатуру (без области переполнения) или второй — отображать «белый экран» с текстовым полем, как мы используем в Android (в альбомной ориентации, когда места мало).
Может кто-нибудь посоветовать, как избавиться от этого ошибочного поведения? Спасибо.
Мой код:
return Scaffold(
key: scaffoldKey,
body: SafeArea(
child: Column(
children: [
Text("Test"),
...
TextField()
],
),
)
);
Попробуйте так,
return Scaffold(
resizeToAvoidBottomInset: true,
key: scaffoldKey,
body: SafeArea(
child: SingleChildScrollView(
child: Column(
children: [
Text("Test"),
...
TextField()
],
),
),
),
);
Оберните виджет Column
внутри ListView
или SingleChildScrollView
, чтобы его можно было прокручивать при открытой клавиатуре:
return Scaffold(
key: scaffoldKey,
body: SafeArea(
child: ListView(
padding:EdgeInsets.zero,
children: [
Column(
children: [
Text("Test"),
...
TextField()
],
),
],
),
)
);;
Попробуйте обернуть весь столбец внутри ListView или поделитесь своим кодом.