我们在上一章回中介绍了如何使用
BottomNavigationBar
切换页面,本章回中将介绍浮动按钮:
FloatingActionBar
。闲话休提,让我们一起Talk Flutter吧。
概念介绍
浮动按钮就是悬浮在屏幕上的按钮,通常们于屏幕右下角或者底部中央位置,因此它经常和BottomNavitationBar
配合使用,本章回中将详细介绍它的使用方法。
使用方法
和其它的Widget一样,浮动按钮提供了相关的属性来控制自己,下面是常用的属性:
backgroundColor
属性用来控制浮动按钮的背景颜色,如果不设置默认为蓝色;shape
属性用来控制浮动按钮的形状,如果不设置默认为圆形;child
属性用来控制浮动按钮上的文字或者图标,默认什么也不显示;建议设置此属性;onPressed
属性用来响应浮动按钮的点击事件,该属性必须设置,不然会报编译错误;
注意:浮动按钮是Scaffold Widget
的属性,我们给它的floatingActionButton
属性赋值后才可以显示浮动按钮,还有一个floatingActionButtonLocation
属性也建议修改,该属性主要用来控制浮动按钮的显示位置,如果不赋值,默认在屏幕右下角显示。常用的值是FloatingActionButtonLocation.centerFloat,
该值表示在屏幕中间,底部导航栏上方显示浮动按钮。
示例代码
下面是浮动按钮的代码,为了控制它的大小,我们把它放到了Container
容器中,并且设置了容器的大小和边框。下面是详细的代码。
final Widget _floatingActionButton = Container(
width: 90.0,
height: 90.0,
padding: const EdgeInsets.all(8),
decoration: BoxDecoration(
color: Colors.green,
borderRadius: BorderRadius.circular(60),
),
child: FloatingActionButton(
backgroundColor: Colors.purpleAccent,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(16.0),
side: const BorderSide(
width: 2,
color: Colors.black87,
),
),
// //可以是文字或者icon,它会显示在FloatingButton上,默认是蓝色圆形
// child: const Text("Float Button"),
child: const Icon(Icons.add),
onPressed: () {
print("FloatingButton onClicked");
},
),
);
把上面定义的浮动按钮对象赋值给Scaffold
对象的floatingActionButton
属性,然后通过floatingActionButtonLocation
属性调整浮动按钮的显示位置。下面是核心的代码,完整的代码请查看Github上Ex010中的代码。
return Scaffold(
appBar: AppBar(
title: const Text("BottomNavigationBar Example "),
),
// body: const Text("test"),
body: bodyWidgetList[selectIndex],
bottomNavigationBar: BottomNavigationBar(),//详细内容省略
floatingActionButton: _floatingActionButton,
//控制FloatingActionButton的位置,默认在屏幕右下角
//centerFloat和centerDocked的区别在于Docked会让FloatingButton一半位于屏幕,一半位于BottomNavigationBar
floatingActionButtonLocation: FloatingActionButtonLocation.centerFloat,
// floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
);
编译并且运行上面的程序,可以看到在底部导航栏上面有一个方形紫色的浮动按钮,这个方形通过它的shape
属性来实现。
浮动按钮外层还有一个绿色的圆框,这个是由浮动按钮外层的Container
Widget控制的。我建议大家在浮动按钮外层嵌套一个Container容器,这样不但可以控制浮动按钮的大小,还在调整浮动按钮的位置。
浮动按钮上面显示一个加号Icon
,点击后会在日志中输出print
()方法中内容。
看官们,关于浮动按钮相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!