解决navigation中使用app:popEnterAnim不生效问题

原生技术进阶:Android Jetpack 深度实战 + iOS Core Animation 与 Core ML 集成 跨平台框架解决了"一套代码两端运行"的效率问题,但当应用遇到性能瓶颈、平台特性深度需求、或需要调用底层硬件能力时,原生技术仍然是不可替代的基石。本文从两个方向展开:Android 端深入 Jetpack 组件体系,iOS 端攻克 Core Animation 动画与 Core ML 机器学习集成。 阅读详情

前言

最近在xml中使用navigation的页面切换动画时候遇到一个奇葩的问题:

以下3个属性都能生效
app:enterAnim
app:exitAnim
app:popExitAnim
唯独app:popEnterAnim不生效, 百思不得其解,因为工程已经很大了,排查起来比较麻烦,经过反复排查终于找到了是哪里对它造成了影响。

环境

AndroidStudio: v4.2.1
wrapper gradle: gradle-6.7.1-bin.zip
com.android.tools.build:gradle:4.2.1

排查过程

  1. 既然此工程不生效那么新建工程能不能行?结果新建的工程没有问题,是正常的, 代码和类名全一样,结果旧工程就是不行。

那么现在就是对比之前工程和现在的工程有什么不一样的地方。当然肯定和代码没关系,因为拷贝的同一份代码,那么肯定就是gradle配置文件的问题了。

对比gradle

1.对比gradle版本,但版本是一样的。
2.那就只能对比gradle的配置文件内容上有什么不同了。

因为我工程里用到了hilt,最终找到了原因:hiltVersion版本不一样

hiltVersion 2.3.8   //有问题
hiltVersion 2.4.0   //正常

所以只要将hiltVersion版本升级到2.4.0就可以了。这应该是google发布的hiltVersion 2.3.8版本有bug导致此问题产生,具体是什么原因,未深究。

转载请注明出处:http://www.wolfnx.com/2021/11/08/AndroidStudioPopEnterAnimError

作者 : wolfnx
邮箱 : wolfnx@outlook.com
邮箱2 : lostnx@gmail.com

VOF模型求解方法:从SIMPLEC到PISO的稳定性优化策略 本文深入探讨了VOF模型求解方法中SIMPLEC与PISO算法的稳定性优化策略,重点分析了两种算法在稳态和瞬态问题中的应用差异。通过对比PRESTO离散化方法与其他格式的优劣,提供了针对多相流模拟的实用设置建议和稳定性优化技巧,帮助工程师有效提升计算效率和精度。 阅读详情

相关推荐

PFC电压环与电流环的带宽设计:如何避免输入电流畸变?

本文深入探讨了PFC电路中电压环与电流环的带宽设计问题,揭示了快速电压环导致输入电流畸变的机制,并提供了避免THD上升的工程实践方法。通过分析双环控制架构、谐波失真原理及带宽设计黄金法则,帮助工程师优化PFC系统性能,实现高功率因数与低谐波失真的平衡。

weixin_28304023的博客 382

android enter popenter区别,What is the difference between enterAnim & popEnterAnim & exitAnim & popExi...

问题What is the difference between animation tags in latest Navigation Architecture Component? I got confused with enterAnim & popEnterAnim. Similarly, exitAnim & popExitAnim.Any visual expansio...

weixin_31616803的博客 370

【ESP32CAM+Android+OpenCV】自定义目标数据集、训练自己的OpenCV模型部署到手机APP并对ESP32CAM无线图传显示并实时检测识别目标-资料编号30.zip项目工程文件

【本项目演示视频/设计配置文章链接:https://archie.blog.csdn.net/article/details/144683945?spm=1001.2014.3001.5502】本项目实现自定义目标数据集(想检测什么就检测什么,按照本项目设计文章教程过程自己来更换目标)、训练自己的OpenCV模型实时检测识别(pycharm工程)。手机APPAndroid studio工程)部署OpenCV模型实现对ESP32CAM(arduino工程)无线WIFI图传过来的图像实时检测识别。本项目以火焰检测识别为例进行演示,通过该过程,结合本项目设计文章可自定义尝试更换为其它目标的检测,例如更换为车辆、车牌、手势、人脸面部活动、人脸表情、火焰烟雾、行人、口罩、行为、水果、植物、农作物、建筑、损伤等等目标部署进行检测。本项目训练了20阶段数,为演示方便(减少了训练时间),训练轮数和数据集载入都较少故检测精度欠佳(还行),根据本项目设计文章设计过程你可进行优化轮数、增加数据集数量等。本项目设计文章介绍本项目开发过程,为项目工程文件设计配置文章。——资源主要内容:程序源码工程资料文件,pycharm工程+Android studio工程+Arduino工程。资源具体内容以资料包为准。项目工程资源经过测试运行成功,功能效果如演示视频所示,可copy复现/借鉴此项目,也可以基于此项目进行扩展开发出更多功能。本项目供参考学习,可参考学习应用在相关项目设计开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中。——作者:阿齐Archie(嵌入式工程师-专注嵌入式系统、单片机、物联网、智能检测控制、上位机、人工智能、智能计算等)。全网同名(阿齐Archie/嵌入式阿齐Archie/嵌入式阿齐)。

android enter popenter区别,android - Pop enter animation not working with the Jetpack Navigation Compo...

I have been using the Jetpack Navigation component (2.3.5, although I have tested older versions too) and trying to add transitions between two simple destinations. However, the transition specified w...

weixin_34871076的博客 367

Jetpack系列:应用内导航的正确使用方法

今天小编要分享的还是Android Jetpack库的基本使用方法,本篇介绍的内容是Jetpack Navigation组件,让我们一起学习,为完成年初制定的计划而努力吧! 组件介绍 导航,是指提供用户在应用程序中的不同内容之间进行浏览、退出的交互功能。如我们在Android手机上常常用到的物理/虚拟返回按键、桌面(Home)键、历史记录(Recent)键、ActionBar 返回键等等。 Jetpack库中的Navigation组件由以下三个关键部分组成: 导航图:一种XML资源,包含所有与导...

深蓝旭的博客 480

Android进阶必学】JetPack指路明灯—Navigation(1)

找工作是个很辛苦的事情,而且一般周期都比较长,有时候既看个人技术,也看运气。第一次找工作,最后的结果虽然不尽如人意,不过收获远比offer大。接下来就是针对自己的不足,好好努力了。最后为了节约大家的时间,我把我学习所用的资料和面试遇到的问题和答案都整理成了PDF文档《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!解视频,并且会持续更新!**如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android

2401_84132449的博客 1231

Android Navigation

在JetPack中有一个组件是Navigation,顾名思义它是一个页面导航组件,相对于其他的第三方导航,不同的是它是专门为Fragment的页面管理所设计的。它对于单个Activity的App来说非常有用,因为以一个Activity为架构的App页面的呈现都是通过不同的Fragment来展示的。所以对于Fragment的管理至关重要。通常的实现都要自己维护Fragment之间的栈关系,同时要对Fragment的Transaction操作非常熟悉。为了降低使用与维护成本,所以就有了今天的主角Navigati

chuyouyinghe的专栏 743

Android JetPack之Navigation(四)

Navigation使用<action/>进行切换Fragment

Mr_Tony的专栏 871

android enter popenter区别,Android导航组件弹出过渡问题

由于NavOptions由将抽屉绑定到导航图所使用的便利方法在内部处理,因此这有点难以解决.我最初使用设置菜单和onOptionsItemSelected测试了这个解决方案,但基本的想法也应该在这里工作.首先,确保您的菜单项ID与导航片段的ID相对应:......现在,不要在NavHost活动中使用现成的方法来实现connecting the drawer to your NavControlle...

weixin_28737603的博客 631

Android Navigation 过渡动画

里面很简单 一个Fragment但是里面用到了my_nav。用到了俩左边按钮和右边按钮的icon。剩下的我用哔哩哔哩展示把。为了给大家一个更为骚而快的操作效果。-》可以跳转SecondedFragment用的是从右边边向右边滑动的动画。-》可以跳转FirstFragment 用的是从左边向右边滑动的动画。后续看下如何操作的朋友可以看下哔哩哔哩的教学视频哦。那么今天就来一个从很基础开始的教程。其实第二个Fragment和他一样。但是没有从很基础开始。就是为了完整教程来吧。那么预览我就给一个咯。........

丿灬安之若死 1618

bottom Navigation View + Fragment 跳转动画没效果

项目是用Android Studio3.5生成的项目 Bottom Navigation Activity ,也就是谷歌的Demo Api是最新的api29,Android 10.0 因为生成的项目,两个Fragment切换有点生硬,所以想给它添加切换动画,网上找了例子 https://www.zhihu.com/tardis/sogou/art/69562454 可是因为我粗心,把navigat...

水寒 1425

Navigation这样好用的导航框架你确定不来学学?

在开始学习组件之前,我们需要先对主要组成部分有个简单的了解,Navigation由三部分组成:

m0_64420071的博客 875

android enter popenter区别,自定义fragment进出栈时候的动画

Set a custom style resource that will be used for resolving transit animations.下面看一个示例:1.主activity布局文件:android:orientation="vertical" android:padding="4dip"android:gravity="center_horizontal"android:l...

weixin_42160376的博客 209

Android Jetpack学习笔记之Navigation (一)

也就是说应用启动时候第一个显示的页面 这个指定的id可以随便设置 前提是需要在这个navigation文件中已经配置好的。这是你用AS直接创建后生成的xml布局,这个布局中用的是fragment,我这边使用的是FragmentContainerView,而且 官方创建的MainActivity中没有。Fragment创建可以自己创建 然后配置到这个导航图中 还有个更方便一点的就是在nav_graph导航图中的可视化去配置。的绑定,通常不需要手动获取它的实例来进行额外的初始化或绑定操作。

qq_44874307的博客 1194

关于安卓开发中Activity动画切换效果无效的一个总结

突然想起把这些问题写个总结(遇到了再更新) 1.先写第一个,也是让我最懵逼的一个,搞了好几天都无果,直到我新弄了一个测试demo一个个排查才发现问题所在 &lt;style name="horizontal_slide" parent="Theme.AppCompat.NoActionBar"&gt; &lt;item name="android:windowAnimationS...

qjyoung 3154

全网都刷爆了,不会只有你不知道吧—,kotlinapply函数

} } 这个时候,你会发现,页面好像没有重建一样。我这才理解了谷歌的用意。它这步棋下的很巧啊。 也里所当然的我抛弃了FragmentNavigatorHideShow,又拥抱回了谷歌爸爸。 说回上面那个问题,当一个页面中可以打开自己的时候,在FragmentNavigator源码中只要是导航到下一个目的地就会重新创建一个新的Fragment,上一个Fragment会被加入回退栈里,所以才可以在Fragment中打开一个新的自己,来展示不同的信息。而hide和show的方式会每次都去查找之前有没有创建过这个页

m0_64604842的博客 879

Android开发中activity跳转动画失效解决

最近在做一个app的时候需要修改activity跳转动画 使用网上推荐的 &lt;!-- 新的Activity启动时Enter动画 --&gt; &lt;item name="android:activityOpenEnterAnimation"&gt;@anim/slide_left_in&lt;/item&gt; &lt;!-- 新的Activity启动时...

原住民的自修室 3026

Android Jetpack 架构组件之 Navigation

一、关键字段的解释 Kotlin语言环境下在Fragment里面操作控件的注意事项: 在onCreateView()方法和onStart()方法里面直接通过id操作控件的话,会要求必须加findViewById()获取控件id,否则就会报"must not be null"这个错误。 但是在onViewCreated()方法里面就不用这样。另外自定义的方法里面也是必须获取控件id。 可以这么理解: 在Fragment里面,除了在onViewCreated()方法里面直接操作控件或者调用操作控件的方法外,

haoyuegongzi的博客 1940

【Jetpack】Navigation 导航组件 ③ ( 为 Navigation Graph 页面跳转 action 添加跳转动画 )

一、为 Navigation Graph 添加跳转动画 1、进入 Navigation Graph 配置的 Design 模式 2、选中 action 跳转 3、为 action 跳转设置 enterAnim 进入动画 4、为 action 跳转设置 exitAnim 退出动画 5、通过代码为 action 跳转设置进入 / 退出动画 6、执行效果

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 1万+

android 官方默认动画,Android动画一:Activity过渡动画详细实现原理

虽然 Android 5.0 之后推出了新的过渡动画方式,但通常只是用于特定的场合使用,activity.overridePendingTransition() 通用方式的过渡动画还是很常用。 原理分析startActivity(Intent(this,SecondActivity::class.java))overridePendingTransition(enterAnim, exitAnim...

weixin_26808963的博客 867

Android之anim跳转动画

Android中原生的界面跳转看起来会很生硬,可以自定义切换动画来更改界面跳转的效果, 让用户有一种耳目一新的感觉。使用这种切换动画可以设置Activity的移动、旋转、缩放以及透明度的变化效果。 这里会用到overridePendingTransition(int enterAnim, int exitAnim)这个方法, 该方法用于设置Activity界面切换时的动画。 enterAni

love超1314的专栏 1749
上一篇: 使用一个大git管理整个Android平台源码并且保留repo的同步功能
lostnx
博客等级 码龄10年 45粉丝 43原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值