下面是浮动按钮的代码,为了控制它的大小,我们把它放到了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()方法中内容。
看官们,关于浮动按钮相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!