Я использую флаттер, чтобы создать страницу, которую кто-то может комментировать. И эта страница отображается с помощью showModalBottomSheet. но текстовое поле скрыто клавиатурой, когда клавиатура отображается спереди.
flutter doctor output:
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.0.0, on Mac OS X 10.14 18A391, locale zh-Hans-CN)
[!] Android toolchain - develop for Android devices (Android SDK 28.0.3)
✗ Android license status unknown.
[✓] iOS toolchain - develop for iOS devices (Xcode 10.1)
[✓] Android Studio (version 3.1)
[!] VS Code (version 1.30.0)
[✓] Connected device (1 available)
Фрагмент кода:
showModalBottomSheet(
context: context,
builder: (BuildContext sheetContext) {
return new Container(
height: 230.0,
padding: const EdgeInsets.all(20.0),
child: ListView(
children: <Widget>[
new Column(
children: <Widget>[
new Row(
children: <Widget>[
new Text(isMainFloor ? "reply author" :"reply"),
new Expanded(
child: new Text(
title,
style: new TextStyle(color: const Color(0xFF63CA6C)),
)),
new InkWell(
child: new Container(
padding:
const EdgeInsets.fromLTRB(10.0, 6.0, 10.0, 6.0),
decoration: new BoxDecoration(
border: new Border.all(
color: const Color(0xFF63CA6C),
width: 1.0,
),
borderRadius: new BorderRadius.all(
new Radius.circular(6.0))),
child: new Text( "send",
style:
new TextStyle(color: const Color(0xFF63CA6C)),
),
),
onTap: () {
sendReply(authorId);
},
)
],
),
new Container(
height: 10.0,
),
new TextFormField(
maxLines: 5,
controller: _inputController,
focusNode: _focusNode,
decoration: new InputDecoration(
hintText: "balabala……",
hintStyle:
new TextStyle(color: const Color(0xFF808080)),
border: new OutlineInputBorder(
borderRadius: const BorderRadius.all(
const Radius.circular(10.0)),
)),
),
new Padding(
padding: EdgeInsets.only(
bottom: MediaQuery.of(context).viewInsets.bottom)),
],
)
],
),
);
});
}