当前位置:   article > 正文

Flutter全局悬浮按钮(1)_浮动按钮 全局

浮动按钮 全局

1.场景 现在需要做一个Test按钮,悬浮在所有页面之上,并且可以拖拽。

2.思路 1)悬浮按钮可以使用flutter提供的Overlay + OverlayEntry 组合实现

2)拖拽功能可以使用GestureDetector手势按钮或者Draggable实现(PS:我做了一版Draggable实现的,但是发现它会有原本的widget浮在原地,显然不是我要的效果)

3)点击的时候我是让它弹出一个底部弹框,这里你们可以自由发挥,本篇文章不做多余赘述

PubScaffold(

child: MaterialApp(

theme: CustomTheme.lightTheme,

darkTheme: CustomTheme.darkTheme,

themeMode: currentTheme.currentTheme,

home: Scaffold(

body: Stack(

children: [

_pageList[_currentIndex],

// Positioned(

// left: _offset.dx,

// top: _offset.dy,

// child: GestureDetector(

// onPanUpdate: (d) =>

// setState(() => _offset += Offset(d.delta.dx, d.delta.dy)),

// child: FloatingActionButton(

// onPressed: () {},

// backgroundColor: Colors.orange,

// child: Icon(Icons.add),

// ),

// ),

// ),

],

),

bottomNavigationBar: CurvedNavigationBar(

// key: _bottomNavigationKey,

index: 0,

height: 60.0,

items: [

Icon(Icons.home, size: 30),

Icon(Icons.list, size: 30),

Icon(Icons.compare_arrows, size: 30),

// Icon(Icons.call_split, size: 30),

],

color: Colors.white,

buttonBackgroundColor: Colors.white,

backgroundColor: Colors.blueAccent,

animationCurve: Curves.easeInOut,

animationDuration: Duration(milliseconds: 600),

onTap: (index) {

setState(() {

_currentIndex = index;

});

},

// letIndexChange: (index) => true,

),

),

),

);

这里的PubScaffold

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/736383
推荐阅读
相关标签
  

闽ICP备14008679号