android导航组件exitanim在弹出窗口时不工作,堆栈不为空

2admgd59  于 2021-09-29  发布在  Java
关注(0)|答案(0)|浏览(160)

导航时,有popupto=“nav\u graph\u id”和popuptinclusive=“true”来清除后堆栈。还有enteranim和exitanim套装。当堆栈看起来像这样时:a->b(当前片段后面没有片段),两个动画都可以工作。当它是a->b->…->n(当前片段后面的一个或多个片段),exitanim不工作。
我已经隔离了这个问题,所以只有当存在除当前片段之外的其他片段时才会发生。
下面是我的导航图,带有注解的兴趣点。
有没有办法让exitanim在pin内工作?版本2.3.5。

<navigation 
  android:id="@+id/nav_main"
  app:startDestination="@id/nav_main_auth"
  >

  <!-- auth -->
  <fragment android:id="@+id/nav_main_auth">

    <!-- to pin -->
    <action
      android:id="@+id/nav_main_auth_to_pin"
      app:destination="@id/nav_main_pin"
      app:enterAnim="@anim/slide_in_left"
      app:exitAnim="@anim/slide_wait"
      app:popExitAnim="@anim/slide_out_right"
      />

    <!-- to home -->
    <action
      android:id="@+id/nav_main_auth_to_home"
      app:destination="@+id/nav_main_home"
      app:popUpTo="@id/nav_main"
      app:popUpToInclusive="true"
      app:enterAnim="@anim/slide_in_left"
      app:exitAnim="@anim/slide_out_left" <!-- here it does work cause no fragments except this one -->
      />

  </fragment>

  <!-- pin -->
  <fragment android:id="@+id/nav_main_pin">

    <!-- to home -->
    <action
      android:id="@+id/nav_main_pin_to_home"
      app:destination="@+id/nav_main_home"
      app:popUpTo="@id/nav_main" <!-- if I remove popUps it works -->
      app:popUpToInclusive="true"
      app:enterAnim="@anim/slide_in_left"
      app:exitAnim="@anim/slide_out_left" <!-- here it does not work cause there's auth fragment behind -->
      />

  </fragment>

  <!-- home -->
  <fragment android:id="@+id/nav_main_home" />

</navigation>

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题