微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在底部小节过渡上添加淡入淡出动画?

如何解决如何在底部小节过渡上添加淡入淡出动画?

我在底部导航栏中的页面过渡上添加淡入淡出效果时遇到问题。我有底部的栏,它通过页面控制器在页面之间导航,并且具有曲线和持续时间。我有放置此底部栏的主页,并在那里创建了该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 举报,一经查实,本站将立刻删除。