НавигацияGraph анимация не работает проблема Android - PullRequest
0 голосов
/ 28 декабря 2018

Я использую этот код с 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 заменить фрагмент или добавить фрагмент?и как я могу получить общее количество стеков?

1 Ответ

0 голосов
/ 28 декабря 2018

Как я вижу, вы используете 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?

В настоящее время я не нашел способ получитьэтот подсчет, как вы можете ее объяснить?

Это должно сработать.

...