当前位置: 首页 > news >正文

flutter使用get库管理路由,并设页面跳转动画和常见动画

get库还是非常强大的一个仓库,里面包含了非常常用的一些方法,比如路由管理,这是最常见和最常用的一个功能了,我们可以先配置一个路由对象,然后在里面配置路由列表,并且设置路由跳转方式。

第一种方式:每个页面单独配置

在路由管理里面单独配置某个页面的进入动画

import 'package:flutter_windows/pages/detail.dart';
import 'package:flutter_windows/pages/home.dart';
import 'package:get/get.dart';
import '../pages/login.dart';class AppPage {static final routes = [GetPage(name: "/",page: () => const Home(),transition: Transition.leftToRight),GetPage(name: "/login", page: () => const Login()),GetPage(name: "/lists", page: () => const Login()),GetPage(name: "/detail", page: () => const Detail()),];
}

第二种:在全局配置默认的

在main.dart文件中配置GetMaterialApp,并配置(全局的会覆盖单独配置的) 

defaultTransition: Transition.fade,

第三种:跳转时配置

在页面中使用Get跳转的时候单独配置,这种方式会覆盖全局的

 Get.to(OtherPage(),transition: Transition.rightToLeftWithFade);

总结说一下常用动画和配置

fade: 页面渐变动画,新页面会从透明度为 0 的状态渐变到完全显示。

fadeIn: 渐入动画,新页面会从透明度为 0 的状态渐变到完全显示。

rightToLeft: 从右向左滑动动画,新页面从屏幕右侧滑入显示。

leftToRight: 从左向右滑动动画,新页面从屏幕左侧滑入显示。

upToDown: 从上到下滑动动画,新页面从屏幕顶部滑入显示。

downToUp: 从下到上滑动动画,新页面从屏幕底部滑入显示。

rightToLeftWithFade: 从右向左滑动并渐变动画。

leftToRightWithFade: 从左向右滑动并渐变动画。

zoom: 缩放动画,新页面从小到大缩放显示。

topLevel: 顶层动画,新页面从顶部覆盖到当前页面。

noTransition: 无动画,直接切换页面,没有过渡效果。

cupertino: iOS 风格的切换动画。

cupertinoDialog: iOS 风格的对话框切换动画。

size: 大小变化动画,新页面从小到大放大显示。

circularReveal: 圆形揭示动画。

native: 原生平台的切换动画。

其他属性:
duration: 设置页面切换动画的持续时间,类型为 Duration。例如,可以通过 duration: Duration(milliseconds: 500) 来设置动画持续时间为500毫秒。

curve: 设置动画的曲线效果,类型为 Curve。曲线可以控制动画的速度和变化。GetX 提供了一系列预定义的曲线效果,如 Curves.easeInOut、Curves.fastOutSlowIn、Curves.bounceInOut 等。

fullscreenDialog: 设置是否将新页面作为全屏对话框显示。如果为 true,新页面将全屏覆盖当前页面。例如,fullscreenDialog: true。

opaque: 设置是否将新页面设置为不透明。如果为 true,新页面将完全不透明,遮挡住当前页面。例如,opaque: true。

popGesture: 设置是否允许通过手势返回上一个页面。如果为 true,用户可以通过向右滑动手势返回上一个页面。例如,popGesture: true。

preventDuplicates: 设置是否防止重复打开同一个页面。如果为 true,多次点击打开同一个页面只会显示一次。例如,preventDuplicates: true。

arguments: 传递给新页面的参数,类型为 dynamic。可以通过 arguments: {…} 来传递参数给新页面。

fullscreen: 设置是否将新页面显示为全屏页面。如果为 true,新页面将全屏显示,覆盖状态栏和导航栏。例如,fullscreen: true。

 

相关文章:

  • 了解JavaScript 加密、混淆和生成签名
  • 逼格满满,推荐一个高效测试用例工具:XMind2TestCase !
  • 详解FreeRTOS:内存管理(高级篇—8)
  • 设计模式—— 单例设计模式
  • leetcode 动态规划(单词拆分)
  • 面向对象的三大特性
  • Kali安装Xrdp结合内网穿透实现无公网ip远程访问系统桌面
  • 单例模式的八种写法、单例和并发的关系
  • 打印日期c++
  • Java获取文件的后缀名称
  • netcore html to pdf
  • 代码随想录算法训练营第32天|122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II
  • 基于反卷积方法的重大突破:结构光系统中的测量误差降低3倍
  • 设计模式之并发特定场景下的设计模式 Two-phase Termination(两阶段终止)模式
  • Linux中常使用的命令之ls、cd、pwd、mkdir、rmdir
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • mysql 数据库四种事务隔离级别
  • php面试题 汇集2
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • Spring Boot MyBatis配置多种数据库
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • SpringBoot 实战 (三) | 配置文件详解
  • Spring框架之我见(三)——IOC、AOP
  • 给初学者:JavaScript 中数组操作注意点
  • 前端
  • 思考 CSS 架构
  • 线上 python http server profile 实践
  • 消息队列系列二(IOT中消息队列的应用)
  • 学习笔记:对象,原型和继承(1)
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • $.each()与$(selector).each()
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (2)Java 简介
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (第一天)包装对象、作用域、创建对象
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .“空心村”成因分析及解决对策122344
  • .Net FrameWork总结
  • .Net mvc总结
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • .net的socket示例
  • .net下简单快捷的数值高低位切换
  • @Autowired和@Resource装配
  • @Transaction注解失效的几种场景(附有示例代码)
  • [ Linux ] Linux信号概述 信号的产生
  • [ 云计算 | AWS 实践 ] 基于 Amazon S3 协议搭建个人云存储服务
  • [1127]图形打印 sdutOJ
  • [28期] lamp兄弟连28期学员手册,请大家务必看一下
  • [acm算法学习] 后缀数组SA