我想模糊一个脚手架的BottomNavigationBar的背景,这样它可以给后面的项目很酷的模糊效果。我该怎么做呢?
**更多信息:**我尝试通过在BottomNavigationBar中创建一个新主题来为canvasColor添加不透明度。
bottomNavigationBar: new Theme( data: Theme.of(context).copyWith( canvasColor: Color(0xff424242).withOpacity(0.5), ), child: new BottomNavigationBar( onTap: navigationTapped, currentIndex: _page, items: [ new BottomNavigationBarItem( icon: new Icon(Icons.home), title: new Text('Home') ), new BottomNavigationBarItem( icon: new Icon(Icons.dashboard), title: new Text('Menu') ), new BottomNavigationBarItem( icon: new Icon(Icons.date_range), title: new Text('Dates') ) ], ), )
这是我得到的输出:Image
令人惊讶的是,正如你所看到的,不透明度根本没有被应用。我实际上不希望BottomNavigationBar是不透明的。我希望它是模糊的,这样它后面的内容就可以在BottomNavigationBar上被视为模糊的。我也尝试过将BottomNavigationBar Package 在ImageFilter.blur()中,但这也不起作用。
3条答案
按热度按时间9rygscc11#
为了实现这个功能,我必须将底部导航与屏幕的其他内容放在一个堆栈中。我使用了ClipRect,BackdropFilter和Opacity的组合。这是工作解决方案:
ecfsfe2w2#
n6lpvg4x3#
你可以用一个Backdropfilter Package 你的BottomNavigationBar,然后用一个ClipRRect Package 所有的BottomNavigationBar。最后但同样重要的是,将Scaffold属性extendBody设置为true。