flutter 路由动画
时间:2019-08-24
本文章向大家介绍flutter 路由动画,主要包括flutter 路由动画使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
import 'package:flutter/material.dart'; import 'package:flutter_app/pages/FirstPage.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch: Colors.green, //定义主题风格 primarySwatch ), home: FirstPage(), ); } }
import 'package:flutter/material.dart'; import 'package:flutter_app/CustomRoute.dart'; import 'package:flutter_app/pages/SecondPage.dart'; class FirstPage extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( backgroundColor: Colors.blue, appBar:AppBar( title:Text('FirstPage',style: TextStyle(fontSize: 36.0)), elevation: 0.0, ), body:Center( child: MaterialButton( child: Icon( Icons.navigate_next, color:Colors.white, size:64.0, ), onPressed: (){ Navigator.of(context).push( CustomRoute(SecondPage())); //使用自定义路由动画 }, ), ) ); } }
import 'package:flutter/material.dart'; class SecondPage extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( backgroundColor: Colors.pinkAccent, appBar: AppBar( title: Text('SecondPage',style:TextStyle(fontSize:36.0),), backgroundColor: Colors.pinkAccent, leading:Container(), elevation: 0.0, ), body:Center( child: MaterialButton( child: Icon( Icons.navigate_before, color:Colors.white, size:64.0 ), onPressed: ()=>Navigator.of(context).pop(), ), ) ); } }
import 'package:flutter/material.dart'; class CustomRoute extends PageRouteBuilder { final Widget widget; CustomRoute(this.widget) : super( transitionDuration: const Duration(seconds: 1), pageBuilder: (BuildContext context, Animation<double> animation1, Animation<double> animation2) { return widget; }, transitionsBuilder: (BuildContext context, Animation<double> animation1, Animation<double> animation2, Widget child) { //缩放 // return ScaleTransition( // scale:Tween(begin:0.0,end:1.0).animate(CurvedAnimation( // parent:animation1, // curve: Curves.fastOutSlowIn // )), // child:child // ); //旋转+缩放路由动画 // return RotationTransition( // turns:Tween(begin:0.0,end:1.0) // .animate(CurvedAnimation( // parent: animation1, // curve: Curves.fastOutSlowIn // )), // child:ScaleTransition( // scale:Tween(begin: 0.0,end:1.0) // .animate(CurvedAnimation( // parent: animation1, // curve:Curves.fastOutSlowIn // )), // child: child, // ) // ); //左右滑动路由动画 // return SlideTransition( // position: Tween<Offset>( // begin: Offset(-1.0, 0.0), end: Offset(0.0, 0.0)) // .animate(CurvedAnimation( // parent: animation1, curve: Curves.fastOutSlowIn)), // child: child, // ); return FadeTransition( opacity: Tween(begin:0.0,end :1.0).animate(CurvedAnimation( parent:animation1, curve:Curves.fastOutSlowIn )), child: child, ); }); }
效果:
原文地址:https://www.cnblogs.com/loaderman/p/11350141.html
- 1589: [Usaco2008 Dec]Trick or Treat on the Farm 采集糖果
- 1647: [Usaco2007 Open]Fliptile 翻格子游戏
- 1295: [SCOI2009]最长距离
- 1644: [Usaco2007 Oct]Obstacle Course 障碍训练课
- 数据结构之哈夫曼树和编码器的构造
- 1578: [Usaco2009 Feb]Stock Market 股票市场
- webp图片实践之路
- 3522: [Poi2014]Hotel
- 3299: [USACO2011 Open]Corn Maze玉米迷宫
- 2272: [Usaco2011 Feb]Cowlphabet 奶牛文字
- 1632: [Usaco2007 Feb]Lilypad Pond
- 1630/2023: [Usaco2005 Nov]Ant Counting 数蚂蚁
- Java设计模式(七)Decorate装饰器模式
- 1623: [Usaco2008 Open]Cow Cars 奶牛飞车
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- leet笔记-63.不同路径II
- 五分钟C语言实现数据结构 之 二叉树链式存储
- 视频上云/网络穿透/网络映射服务EasyNTS前端切换页面卡顿如何优化?
- [译] 在 Vue 组件中分离 UI 和业务逻辑
- Android Notes|BottomNavigationView 爱上 Lottie
- Android Notes|玩转 ShapeableImageView
- 前端技术 Webpack(学习 Webpack 的原因,Webpack 快速入门)
- 每日一问第1期 | 截取字符串
- 动态规划此一篇就够了 万字总结
- 每日一问第2期 | final, finally, finalize 的区别?
- 当return遇到try、catch、finally时会发生什么?
- 五分钟C语言数据结构 之 二叉树层次遍历
- 为何IntelliJ IDEA比Eclipse好在哪里?
- 五分钟C语言数据结构 之 二叉树中序遍历
- Django 安全之跨站点请求伪造(CSRF)保护