我使用的是TextField
,但键盘正在提升FloatingActionButton
。我想知道键盘是否有可能不能引发FloatingActionButton
?
在下面的代码中,我以两种不同的方式放置了两个FloatingActionButton
但是在两个键盘都上升,这阻碍了字段填充,因为FAB与TextField
在同一行中,根据下面的GIF。
有什么方法可以解决这个问题吗?
import 'package:flutter/material.dart';
import 'dart:ui' as ui;
void main() {
runApp(new MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
home: new MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => new _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
final ui.Size logicalSize = MediaQuery.of(context).size;
final double _width = logicalSize.width;
return new Scaffold(
appBar: new AppBar(backgroundColor: new Color(0xFF26C6DA)),
body: new Stack(
children: <Widget>[
new ListView(
children: <Widget>[
new TextField(
decoration: const InputDecoration(
labelText: "Description",
),
style: Theme.of(context).textTheme.title,
),
new TextField(
decoration: const InputDecoration(
labelText: "Description",
),
style: Theme.of(context).textTheme.title,
),
new TextField(
decoration: const InputDecoration(
labelText: "Description",
),
style: Theme.of(context).textTheme.title,
),
],
),
new Positioned(
bottom: 16.0,
left: (_width / 2) - 28,
child: new FloatingActionButton(
backgroundColor: new Color(0xFFE57373),
child: new Icon(Icons.check),
onPressed: (){}
),
)
],
),
floatingActionButton: new FloatingActionButton(
backgroundColor: new Color(0xFFE57373),
child: new Icon(Icons.check),
),
);
}
}
答案 0 :(得分:4)
看起来你正在设计一个全屏对话框。
浮动操作按钮表示应用程序中的主要操作,如创建新项目。它不是您用来确认更改的内容,而是关闭包含文本字段列表的全屏对话框。
我建议FloatingActionButton
在AppBar
广告位中使用FlatButton
,而不是使用actions
,就像在此Material design example中一样:
您可以在Gallery source code中看到如何在Flutter中构建全屏对话框的示例。