android – 在提交后禁用片段事务动画

android – 在提交后禁用片段事务动画,第1张

概述我有一个不常见的片段导航,因为我想让应用程序响应.因为我几乎只使用片段显示/隐藏方法. 每当我想导航到另一个片段并使用后退键返回时,我将此事务添加到backstack.有了这个,我还将过渡动画设置为该事务,这样当用户按下时,它会显示一个反转动画(popBackStackImmiediate()的效果),当用户转到上一个片段时. 我通过以下方式添加这些动画: fragmentTransaction. 我有一个不常见的片段导航,因为我想让应用程序响应.因为我几乎只使用片段显示/隐藏方法.

每当我想导航到另一个片段并使用后退键返回时,我将此事务添加到backstack.有了这个,我还将过渡动画设置为该事务,这样当用户按下时,它会显示一个反转动画(popBackStackImmIEdiate()的效果),当用户转到上一个片段时.

我通过以下方式添加这些动画:

fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);

让我们称之为A – > B – >导航.因此,当A移动到B时,会显示一个开始动画,然后当我们返回A时,会显示一个反转动画.

然而问题是,当我遇到需要从A到B的情况,将此事务添加到后台堆栈(能够返回带有后退按钮的A),然后从B到C(不添加此事务到后退堆栈),按下后退按钮时从C到A.这种情况下的问题是,当我按下该C片段上的后退按钮时,我希望用户可以毫不费力地被带到A片段.但是,因为从A到B的事务中添加了动画,并且该事务被添加到后栈,当用户按下片段C上的按钮时,正在显示反转事务A-> B(实际上,片段B在显示片段A之前,在屏幕上闪烁几分之一秒.

如果我能够在A-> B事务中到达事务对象并禁用该过渡动画,那么它将全部运行良好.但是,在commit()完成后,此 *** 作似乎无效.

反正我可以禁用那个动画吗?

解决方法 首先想到的是在转到片段C之前调用popBackStackImmediate().这样当你从C返回时你会直接进入A.

现在关于动画的事情,你可以尝试this answer.

它基本上表示你创建一个布尔标志,当你不想看到动画时,你设置为true.

然后,如果上述条件为真,则片段的onCreateAnimation方法返回一个空动画.

总结

以上是内存溢出为你收集整理的android – 在提交后禁用片段事务动画全部内容,希望文章能够帮你解决android – 在提交后禁用片段事务动画所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1125284.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存