我将此代码与NavigationGraph Fragment
<fragment
android:id="@+id/editProfileFragment"
android:name="com.uvm.ui.editprofile.EditProfileFragment"
android:label="FragmentFour"
tools:layout="@layout/edit_fragment_profile" >
<action
app:popExitAnim="@anim/nav_default_pop_exit_anim"
app:exitAnim="@anim/nav_default_exit_anim"
app:enterAnim="@anim/nav_default_enter_anim"
app:popEnterAnim="@anim/nav_default_pop_enter_anim"
android:id="@+id/action_editProfileFragment_to_profileFragment"
app:destination="@id/profileFragment" />
</fragment>
然后
navController.navigate(R.id.editProfileFragment);
用于片段导航。其正常工作和片段替换也可以,但是enterAnim, exitAnim
等属性不起作用。没有动画的片段替换。我该如何解决?
还有一个查询是NavigationGraph
是替换片段还是添加片段?以及如何获取堆栈总数?
答案 0 :(得分:1)
正如我所看到的,您正在使用Fragment的RID进行导航,而应用事务动画时,您将在动作中提供所有动画。
<action
app:popExitAnim="@anim/nav_default_pop_exit_anim"
app:exitAnim="@anim/nav_default_exit_anim"
app:enterAnim="@anim/nav_default_enter_anim"
app:popEnterAnim="@anim/nav_default_pop_enter_anim"
android:id="@+id/action_editProfileFragment_to_profileFragment"
app:destination="@id/profileFragment" />
因此,要应用动画的动作RID进行导航。
navController.navigate(R.id.action_editProfileFragment_to_profileFragment);
默认情况下,导航组件使用“替换片段事务”。
还有how could i get total count of stack?
目前我还没有找到一种方法来计算这种情况,她可以解释什么用例?
这应该有效。