我见过很多人用子片段描述这种情况(例如),但我没有使用子片段。当我向事务添加动画时,退出的片段会立即消失,而进入的片段会以预期的enter动画进入。当我按下后,同样的事情发生了。。。退出的片段立即消失,原始片段以适当的弹出式输入动画进入。
我做错了什么?
我在一个实现PreferenceFragmentCompat的AppCompatActivity中这样做。在PreferenceStartFragmentCallback上,我的活动布局仅由一个FrameLayout组成。
override fun onPreferenceStartFragment(caller: PreferenceFragmentCompat, pref: Preference): Boolean {
val fragment = supportFragmentManager.fragmentFactory.instantiate(
classLoader,
pref.fragment)
supportFragmentManager.beginTransaction()
.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left, R.anim.slide_in_left, R.anim.slide_out_right)
.add(R.id.fragment_wrapper, fragment)
.addToBackStack(null)
.commit()
return true
}
我的所有动画都是具有相同持续时间的简单平移动画,如下所示:
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator"
android:fromXDelta="100%p" android:toXDelta="0"
android:duration="@integer/fragment_transition_time"/>
我正在使用androidx。首选项:1.1.0-alpha05。
使用ObjectAnimator
(文档)而不是TranslateAnimation
。
这是一个场景:活动包含片段,它反过来使用在其中添加片段和像这样: 到目前为止,一切正常。 然后我们在活动中运行以下事务: 在转换过程中,片段B的enter动画运行正常,但片段A1和A2完全消失。当我们使用后退按钮还原事务时,它们会正确初始化,并在弹出键动画期间正常显示。 在我的简短测试中,情况变得更奇怪了——如果我为子片段设置动画(见下文),当我们添加片段时,退出动画会断断续续地运行 我想要实现的
我查看了一些教程,了解片段之间的动画事务。我用这种方法制作动画,效果很好: 但是我想反转这个动画:旧片段滑出到左边,新片段滑入到右边,但是文件的值似乎对我的作用域没有用处。 我怎么能做到呢?
我遇到这个问题已经有一段时间了,但没有找到解决方案。我正在rails中构建一个论坛应用程序。我刚刚完成将bootstrap和bootstrap gem添加到我的项目中。我去运行服务器,它以一个巨大的错误退出。在这里。
容器总是在创建和运行后立即退出。 我尝试使用命令运行mssql实例 当尝试类似的SO link link时 它显示 但在run命令中我已经设置了'accept_eula=y'。
此时,Frag2在堆栈上,是唯一可见的片段。我使用了replace和addToBackStack,因为我需要后退导航。我的问题是,当我在Frag2内旋转屏幕时,活动中的super.oncreate(savedInstanceState)方法调用frag1的构造函数。 在用户按下后退按钮之前,有没有什么方法可以避免调用Frag1的构造函数?