我有两个片段,分别名为MainFragment
和PlaybackFragment
。我使用导航体系结构组件来实现两者之间的导航。
我想要做的是创建一个过渡,在这个过渡中,PlaybackFragment
将滑过MainFragment
,当用户关闭PlaybackFragment
时,它将滑下,再次显示MainFragment
。
为此,我创建了两个平移动画。一种是向上滑动:
anim_nav_slide_up.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="250"
android:fromYDelta="100%"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:toYDelta="0%" />
一个是滑下来的:
anim_nav_slide_down.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="250"
android:fromYDelta="0%"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:toYDelta="100%" />
问题是,在转换发生时,MainFragment
不会保持静止不动,而是在显示PlaybackFragment
时向下滑动,而在关闭PlaybackFragment
时向上滑动。我在下面附上了一个例子。
有没有一种方法可以让PlaybackFragment
在不移动MainFragment
的情况下滑过MainFragment
?我不想使用底片,因为我不认为这是他们在这种情况下的预期目的。
发布于 2020-10-12 17:00:17
使用不执行任何操作的动画。
hold.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="@android:integer/config_mediumAnimTime"
android:fromYDelta="0.0%p"
android:toYDelta="0.0%p" />
</set>
并在导航组件xml文件中将其指定为popEnterAnim
app:popEnterAnim="@anim/hold"
app:popExitAnim="@anim/slide_out_down"
https://stackoverflow.com/questions/64310207
复制相似问题