我正在使用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",],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),); } }
解决方法
看起来你正在设计一个全屏对话框.
浮动操作按钮表示应用程序中的主要操作,如创建新项目.它不是您用来确认更改并解除包含文本字段列表的全屏对话框的内容.
而不是使用FloatingActionButton,我会在动作槽中推荐一个带有FlatButton的AppBar,就像在这个Material design example中一样:
您可以在Gallery source code中看到如何在Flutter中构建全屏对话框的示例.