颤振稳定性叶瓣图_颤振导航器pageroutebuilder过渡

2024-03-03 09:59

本文主要是介绍颤振稳定性叶瓣图_颤振导航器pageroutebuilder过渡,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

颤振稳定性叶瓣图

In this project, you are going to take a look at:

在这个项目中,您将看一下:

  • How to use the Navigator widget to navigate between pages with arguments (pass data)

    如何使用Navigator小部件在带参数的页面之间导航(传递数据)

  • How to use the Navigator Named Route with arguments (pass data)

    如何使用带有参数的Navigator Named Route (传递数据)

  • How to use the PageRouteBuilder to create custom navigation transitions

    如何使用PageRouteBuilder创建自定义导航过渡

Image for post
Navigator Sample Code
导航器示例代码

航海家 (Navigator)

The Navigator widget manages a stack of routes to move between pages. You can optionally pass data to the destination page and back to the original page. To start navigating between pages, you use the Navigator.of(context).push, pushNamed, and pop methods.

Navigator小部件管理一堆在页面之间移动的路由。 您可以选择将数据传递到目标页面并返回原始页面。 要开始在页面之间导航,请使用Navigator.of(context).pushpushNamedpop方法。

Navigator is incredibly smart; it shows native navigation on iOS or Android. For example, when navigating to a new page, in iOS, the new page slides in from the right, and in Android, it slides in from the bottom.

Navigator非常智能; 它显示了iOS或Android上的本机导航。 例如,导航到新页面时,在iOS中,新页面从右侧滑入,而在Android中,它从底部滑入。

导航器示例代码 (Navigator Sample Code)

The following example shows you how to use the Navigator.of(context).push method to navigate to the Details page. The push method passes the Route arguments. To push a new Route argument, you create an instance of the MaterialPageRoute class that replaces the screen with the appropriate platform (iOS or Android) animation transition. In the example, the fullscreenDialog property is set to true to present the Details page as a full-screen modal dialog. By setting the fullscreenDialog property to true, the Details page app bar automatically includes a close button. In iOS, the modal dialog transition presents the page by sliding from the bottom of the screen toward the top, and this is also the default for Android.

下面的示例向您展示如何使用Navigator.of(context).push方法导航到“ Details页面。 push方法传递Route参数。 要推送新的Route参数,请创建MaterialPageRoute类的实例,该实例用适当的平台(iOS或Android)动画过渡替换屏幕。 在该示例中,将fullscreenDialog属性设置为true以将“ Details页面显示为全屏模式对话框。 通过将fullscreenDialog属性设置为true ,“ Details页面应用程序栏将自动包含一个关闭按钮。 在iOS中,模式对话框过渡通过从屏幕底部向顶部滑动来显示页面,这也是Android的默认设置。

Navigator.of(context).push(
MaterialPageRoute(
fullscreenDialog: true,
builder: (context) => Details(),
),
);

The following example shows how to use the Navigator.of(context).pop method to close the page and navigate back to the previous page. You call the Navigator.of(context).pop() method and the page closes by sliding from the top of the screen toward the bottom.

下面的示例演示如何使用Navigator.of(context).pop方法关闭页面并导航回到上一页。 您调用Navigator.of(context).pop()方法,然后通过从屏幕顶部向底部滑动来关闭页面。

// Close page
Navigator.of(context).pop();

The second example shows how to pass a value back to the previous page by passing a result value argument. The result can be a single value, object, lists (arrays) and so on.

第二个示例显示如何通过传递结果值参数将值传递回上一页。 结果可以是单个值,对象,列表(数组)等。

// Close page and pass a value back to previous page
Navigator.of(context).pop('Done');

导航器命名为路线 (Navigator Named Route)

An alternate way to use Navigator is to refer to the page that you are navigating to by the route name. The route name starts with a slash, and then comes the route name. For example, the Details page route name is '/details'. The list of routes is built into the MaterialApp() widget. The routes have a Map of String and WidgetBuilder where the String is the route name, and the WidgetBuilder has a builder to build the contents of the route by the Class name (Details) of the page to open.

使用Navigator的另一种方法是通过路由名称引用要Navigator到的页面。 路径名称以斜杠开头,然后为路径名称。 例如,“详细信息”页面路由名称为'/details' 。 路线列表内置在MaterialApp()小部件中。 路由具有String MapWidgetBuilder ,其中String是路由名称,而WidgetBuilder具有生成器,可通过要打开页面的类名称( Details )构建路由的内容。

MaterialApp(
initialRoute: '/home',
routes: <String, WidgetBuilder>{
'/home': (BuildContext context) => Home(),
'/details': (BuildContext context) => Details(),
'/about': (BuildContext context) => About(),
},
);

To call the route, the Navigator.of(context).pushNamed() method is called by passing the route name argument.

要调用路由,可通过传递路由名称参数来调用Navigator.of(context).pushNamed()方法。

Navigator.of(context).pushNamed('/details');

You also have an optional second argument to pass data

您还具有可选的第二个参数来传递数据

// Pass Arguments
Navigator.of(context).pushNamed(
'/details',
arguments: {'emotion': 'Happy'}
);

To Extract the arguments (data) you call the ModalRoute.of(context).settings.arguments and for this example you access the data by calling the arguments variable key value.

要提取参数(数据),请调用ModalRoute.of(context).settings.arguments ,在本示例中,您可以通过调用参数变量键值来访问数据。

// Extract Arguments from navigated page
class _DetailsState extends State<Details> {
Map arguments = Map(); @override
void didChangeDependencies() {
super.didChangeDependencies();
arguments = ModalRoute.of(context).settings.arguments;
} @override
Widget build(BuildContext context) {
return Scaffold(
body: Text(arguments['emotion']),
);
}
}

PageRouteBuilder (PageRouteBuilder)

The PageRouteBuilder class is used to create custom route transitions. PageRouteBuilder provides an Animation object. This Animation can be used with Tween and Curve objects to customize the transition animation.

PageRouteBuilder类用于创建自定义路由转换。 PageRouteBuilder提供了Animation对象。 该Animation可以与TweenCurve对象一起使用,以自定义过渡动画。

You need to define a pageBuilder function to create the route's content and define the transitionBuilder function to add transition animation.

您需要定义一个pageBuilder函数来创建路径的内容,并定义transitionBuilder函数来添加过渡动画。

Navigator.of(context).push(
PageRouteBuilder(
pageBuilder: (
BuildContext context,
Animation<double> animation,
Animation<double> secondaryAnimation) {
return Details();
},
transitionsBuilder: (
BuildContext context,
Animation<double> animation,
Animation<double> secondaryAnimation,
Widget child) {
return Align(
child: SizeTransition(
sizeFactor: animation,
child: child,
),
);
},
transitionDuration: Duration(milliseconds: 500),
),
);

这个怎么运作 (How it Works)

航海家 (Navigator)

The Navigator widget manages a stack of routes to move between pages. To start navigating between pages, you use the Navigator.of(context).push, pushNamed, and pop methods. You optionally passed data to the navigation page and back to the original page.

Navigator小部件管理一堆在页面之间移动的路由。 要开始在页面之间导航,请使用Navigator.of(context).pushpushNamedpop方法。 您可以选择将数据传递到导航页面并返回原始页面。

导航器命名为路线 (Navigator Named Route)

An alternate way to use Navigator is to refer to the page that you are navigating to by the route name. The route name starts with a slash, and then comes the route name. To call the route, the Navigator.of(context).pushNamed() method is called by passing the route name argument. You also have an optional second argument to pass data. To Extract the arguments (data) you call the ModalRoute.of(context).settings.arguments.

使用Navigator的另一种方法是通过路由名称引用要Navigator到的页面。 路径名称以斜杠开头,然后为路径名称。 要调用路由,可通过传递路由名称参数来调用Navigator.of(context).pushNamed()方法。 您还具有一个可选的第二个参数来传递数据。 要提取参数(数据),请调用ModalRoute.of(context).settings.arguments

导航器PageRouteBuilder (Navigator PageRouteBuilder)

The PageRouteBuilder class is used to create custom route transitions. PageRouteBuilder provides an Animation object. This Animation can be used with Tween and Curve objects to customize the transition animation.

PageRouteBuilder类用于创建自定义路由转换。 PageRouteBuilder提供了Animation对象。 该Animation可以与TweenCurve对象一起使用,以自定义过渡动画。

Find me on Twitter @JediPixels

在Twitter @JediPixels上找到我

For more information: https://JediPixels.dev

有关更多信息: https : //JediPixels.dev

翻译自: https://medium.com/@JediPixels/flutter-navigator-pageroutebuilder-transitions-b05991f53069

颤振稳定性叶瓣图


http://www.taodudu.cc/news/show-8479345.html

相关文章:

  • 颤振稳定性叶瓣图_颤振测试让我们观察
  • MacOS Catalina上的颤振安装
  • 颤振稳定性叶瓣图_使用块阵模式进行颤振场验证
  • 机械工程学报-封面研究-基于自适应变分模态分解与功率谱熵差的机器人铣削加工颤振类型辨识
  • 颤振稳定性叶瓣图_在屏幕之间导航—颤振
  • 使用人工智能自动测试颤振应用程序
  • 颤振稳定性叶瓣图_颤振异步redux graphql
  • matlab动力学共振颤振研究
  • 颤振稳定性叶瓣图_颤振主题系统
  • 颤振稳定性叶瓣图_颤振性能优化
  • 双路颤振频率Hz可设置比例阀放大器
  • 深度聚类paper汇总
  • paperwithcode
  • AAAI2021 accepted paper list
  • 使用Tex 撰写paper-TexStudio设置默认字体样式大小等
  • Raphael学习之Paper常用API(四)
  • 如何写paper
  • Paper:txyz_ai(一款帮助科研人员阅读PDF论文ChatGPT利器)的简介、安装、使用方法之详细攻略
  • 抑郁症康复日记
  • 计算机抑郁症与干涉相关的,抑郁症
  • matlab 自带的数据集fisheriris
  • 【文末福利】为什么我们要掌握Linux系统编程?
  • 什么是TCP的混合型自时钟
  • 炮打洋鬼子创作总结
  • oracle 过滤字段中的中文,不再洋不洋土不土
  • field list什么意思_闲话Python之range()到底是个什么玩意儿
  • AI全栈大模型工程师(二十二)什么是模型训练
  • 什么是mysql锁_简单理解MySQL锁
  • 什么是MAS : 一种目标管理工具和方法
  • 什么是接口API
  • 这篇关于颤振稳定性叶瓣图_颤振导航器pageroutebuilder过渡的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



    http://www.chinasem.cn/article/769265

    相关文章

    多云架构下大模型训练的存储稳定性探索

    一、多云架构与大模型训练的融合 (一)多云架构的优势与挑战 多云架构为大模型训练带来了诸多优势。首先,资源灵活性显著提高,不同的云平台可以提供不同类型的计算资源和存储服务,满足大模型训练在不同阶段的需求。例如,某些云平台可能在 GPU 计算资源上具有优势,而另一些则在存储成本或性能上表现出色,企业可以根据实际情况进行选择和组合。其次,扩展性得以增强,当大模型的规模不断扩大时,单一云平

    Nuxt3入门:过渡效果(第5节)

    你好同学,我是沐爸,欢迎点赞、收藏、评论和关注。 Nuxt 利用 Vue 的 <Transition> 组件在页面和布局之间应用过渡效果。 一、页面过渡效果 你可以启用页面过渡效果,以便对所有页面应用自动过渡效果。 nuxt.config.js export default defineNuxtConfig({app: {pageTransition: {name: 'fade',mode

    HTMX:用HTML属性实现AJAX、CSS过渡和WebSockets

    前言 在现代 Web 开发中,用户界面的交互性和响应性是至关重要的。 用户期望网站和应用程序能够即时响应他们的操作,提供流畅和直观的体验。 传统的 JavaScript 库虽然功能强大,但往往伴随着复杂的配置和庞大的文件大小,这可能会影响应用的性能和开发效率。 介绍 htmx 是一个轻量级的 JavaScript 库,它允许开发者使用简单的 HTML 属性来实现复杂的交互功能。 它

    CSS学习9[重点]--盒子模型大小、布局稳定性、CSS3盒模型以及盒子阴影

    盒子模型2 一、content宽度和高度二、盒子模型的布局稳定性三、CSS3盒模型四、盒子阴影 一、content宽度和高度 使用宽度属性和高度属性可以对盒子的大小进行控制。 width和height的属性值可以为不同单位的数值或相对于父元素的百分比%,实际工作中最常用的是像素值。 大多数浏览器都采用了W3C规范,符合CSS规范的盒子模型的总宽度和总高度的计算原则是: 外

    CSS学习6--背景图片、颜色、位置、附着、简写、透明、缩放、多背景、凹凸文字、导航栏例子

    CSS背景 一、背景颜色和图片二、背景位置三、背景附着四、背景简写五、背景透明六、背景缩放七、多背景八、凹凸文字九、导航栏例子 一、背景颜色和图片 background-color: pink; 背景颜色backgroundoimage: url(##.jpg); 背景图片background-repeat: 平铺 repeat-x横向平铺,repeat-y纵向平铺; 平铺不到

    Win10 - 删除快速访问导航栏

    1、按下 Win + R 键,在运行中输入 regedit 回车,打开注册表 2、然后定位到 HKEY_CLASSES_ROOT\CLSID\{679f85cb-0220-4080-b29b-5540cc05aab6}\ShellFolder 中 3、这时需要对 ShellFolder 进行权限修改,不然是没法修改该项下的数据。参考 Win10注册表获取权限的方法 4、得到权限后,再把把右

    Cocos2dx 3.0 过渡篇(五) 随机数的获取

    1、简单的随机数用法:CCRANDOM_0_1 示例如下: [cpp] int HelloWorld::getRand(int start,int end)  {   float i = CCRANDOM_0_1()*(end-start+1)+start;  //产生一个从start到end间的随机数   return (int)i;  }   2、上述的方法虽然简便,但是运行

    Cocos2dx 3.0 过渡篇(三) 触摸机制

    尊重原创,转载请注明来自:star特530的CSDN博客 http://blog.csdn.net/start530/article/details/18325493 本来在中午休息时间打算大展拳脚,好好写一篇新触摸机制相关的博文,结果,等真正下手的时候才发现无从下手,很多地方自己都说不清,赶紧看了下testCpp,才发现原来是这样,还可以这样,哦?这样都行?哎,我还是太年轻了。   咱也只能

    Cocos2dx 3.0 过渡篇(二) 事件回调

    尊重原创,转载请注明来自:star特530的CSDN博客 http://blog.csdn.net/start530/article/details/18216679 3.0 后的事件回调函数接口都不一样了,例如按钮的menu_selector(),update的 schedule_selector等,都已成明日黄花。而新的回调接口,则由四个CC_CALLBACK取代。 下面先举例一些

    大厂秋招面试真题:排序算法的稳定性?(微众银行真题)

    大家好,我是鸭鸭! 此答案节选自鸭鸭最近弄的面试鸭,更多大厂常问面试题,可以🔍进行阅读哈! 回答重点 稳定的排序算法:冒泡排序、插入排序、归并排序、计数排序。不稳定的排序算法:选择排序、快速排序、堆排序、希尔排序。 扩展知识 1)冒泡排序(Bubble Sort) 原理: 冒泡排序是一种简单的排序算法。它通过多次遍历数组,依次比较相邻的两个元素,如果前者比后者大,就交换它们的位置。这