# flutter_push_test **Repository Path**: fengyingjie/flutter_push_test ## Basic Information - **Project Name**: flutter_push_test - **Description**: 针对不同push 的模式 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-11-13 - **Last Updated**: 2024-11-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # push_test 导航UX ### 关于fullscreenDialog: true 与 false iOS与安卓的效果 如下图: ``` final route = MaterialPageRoute( builder: (context) { return const HomePage(fullscreenDialog: true); }, fullscreenDialog: true,//修改改参数的区别 ); Navigator.of(context).push(route); ``` #### iOS 动效展示 ![iOS 动效展示](iOS%E6%95%88%E6%9E%9C.gif) #### 安卓(P30 Pro)动效展示 ![安卓(P30 Pro) 动效展示](android.gif) #### 鸿蒙动效展示 ![鸿蒙 动效展示](%E9%B8%BF%E8%92%99.gif) ### 两边区别对比 ![当fullscreenDialog 是true 时](image-2.png) ![当fullscreenDialog false 时](image-3.png) # 结语 #### 可以看到fullscreenDialog 是false iOS从右向左 安卓直接弹出, 当是true是 安卓虽然弹出和false区别不大 但双端明显到把返回按钮变成了X,且安卓点X按钮有下落的动画 ## 当新起一个业务流程时,iOS Android 针对 fullscreenDialog 为true or false时是有转场动画区别的. 但是在鸿蒙上 动画都是从右向左,会给用户很明显在一个导航中,导致UX流程不清晰 [来自谷歌的转场说明](https://m3.material.io/styles/motion/transitions/applying-transitions) ## 我们希望用一套Flutter代码实现iOS/安卓/鸿蒙上大致相同的效果,这应该也是绝大部分使用者共同的理解,因为本身Flutter就是跨平台语言,针对转场动画更没有理由单独把鸿蒙摘出来写一套。所以还是应该从鸿蒙Next 系统层面对于fullscreenDialog 做区分。