如何解决如何在底部小节过渡上添加淡入淡出动画?
我在底部导航栏中的页面过渡上添加淡入淡出效果时遇到问题。我有底部的栏,它通过页面控制器在页面之间导航,并且具有曲线和持续时间。我有放置此底部栏的主页,并在那里创建了该pagecontroller作为变量。 我的代码:
class HomeWidget extends StatefulWidget {
const HomeWidget({
Key key,}) : super(key: key);
@override
_HomeWidgetState createState() => _HomeWidgetState();
}
class _HomeWidgetState extends State<HomeWidget> {
int selectedPos = 0;
PageController _pageController;
@override
void initState() {
super.initState();
_pageController = PageController();
}
@override
void dispose() {
_pageController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Material(
child: Scaffold(
backgroundColor: Theme.of(context).scaffoldBackgroundColor,bottomNavigationBar:
child: Container(
decoration: Boxdecoration(
BoxShadow: [
BoxShadow(
color: Colors.grey.withOpacity(0.7),spreadRadius: 1,// changes position of shadow
),],borderRadius: BorderRadius.only(
topLeft: Radius.circular(25),topRight: Radius.circular(25)),),child: ClipRRect(
clipBehavior: Clip.hardEdge,child: BottomNavyBar(
selectedindex: selectedPos,showElevation: true,itemCornerRadius: 15,curve: Curves.easeInBack,**onItemSelected: (i) => setState(() {
selectedPos = i;
_pageController.animatetoPage(selectedPos,duration: Duration(milliseconds: 1000),curve: Curves.fastLinearToslowEaseIn);
}),**
mainAxisAlignment: MainAxisAlignment.spaceAround,items: [
BottomNavyBarItem(
inactiveColor: Colors.grey[700],activeColor: Colors.blue,textAlign: TextAlign.center,icon: ImageIcon(
Assetimage('assets/images/home-run.png'),size: 28,title: Text(
"Home",style: TextStyle(fontSize: 18),)),BottomNavyBarItem(
inactiveColor: Colors.grey[700],activeColor: Colors.purple,icon: ImageIcon(
Assetimage('assets/images/main.png'),size: 23,title: Text(
"Favourites",style: TextStyle(fontSize: 15),activeColor: Colors.red,icon: ImageIcon(
Assetimage('assets/images/user.png'),size: 27,title: Text(
"Profile",))
],body: PageView(controller: _pageController,children: [
HomePage(),FavoritesPage(),FadeTransition(
opacity: _controllerFades.drive(CurveTween(curve: Curves.easeIn)),child: ProfilePage())
]),);
}
}
我试图将列出的Pages放入FadeTransition,但是它不起作用。因此,我需要的是例如在fadetransition小部件中使用淡入淡出效果进行过渡,例如为页面过渡提供平滑效果。我该怎么办?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。