Jay*_*llu 1 floating-action-button flutter flutter-layout
默认情况下,浮动操作按钮位于屏幕右侧。我知道, , 之floatingActionButtonLocation类的和它的属性,但没有一个能帮助我将它移动到屏幕的左侧。endDockedstartDockedcenterDocked
小智 11
您只需将命名构造函数添加到您的脚手架中即可:
floatingActionButtonLocation: FloatingActionButtonLocation.startFloat
或者
floatingActionButtonLocation: FloatingActionButtonLocation.startDocked
以入门应用程序为例:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
int _counter = 0;
void _incrementCounter() {
setState(() {
_counter++;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'You have pushed the button this many times:',
),
Text(
'$_counter',
style: Theme.of(context).textTheme.headline4,
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: Icon(Icons.add),
),
//##########################################################################
floatingActionButtonLocation: FloatingActionButtonLocation.startFloat,
//##########################################################################
/*
or
`floatingActionButtonLocation: FloatingActionButtonLocation.startDocked`
*/
);
}
}
Run Code Online (Sandbox Code Playgroud)
我相信之前提供的答案为您的问题提供了最接近的“易于实施”的选项集。
答案基本上是说在 Widget 树的 Scaffold 组件上使用类似于以下内容的内容:
, floatingActionButtonLocation: FloatingActionButtonLocation.centerFloat
Run Code Online (Sandbox Code Playgroud)
根据选项的描述,它看起来不像是向左对齐。
另请查看此处的可用选项:
https://api.flutter.dev/flutter/material/FloatingActionButtonLocation-class.html
这会将您的 FAB 放置在左下角:
@override
Widget build(BuildContext context) {
return Scaffold(
floatingActionButtonLocation: FloatingActionButtonLocation.startDocked,
floatingActionButton:
FloatingActionButton(heroTag: null, onPressed: () {}),
);
Run Code Online (Sandbox Code Playgroud)
请参阅https://api.flutter.dev/flutter/material/FloatingActionButtonLocation/startDocked-constant.html
基本上是由 @E.Bradford 在上面的评论中建议的,但如果需要的话,我想提供一些代码。通过将 FloatingActionButton 堆叠到定位小部件中,您几乎可以将其放置在任何您想要的位置。
Stack(
children: [
Placeholder(),
Positioned(
left: 40,
bottom: 40,
child: FloatingActionButton(
onPressed: () {},
),
),
],
)
Run Code Online (Sandbox Code Playgroud)