如何在一处为所有过渡定义动画?

时间:2019-07-14 10:26:52

标签: android-animation android-xml android-architecture-components android-navigation

我想对不同的动作使用相同的动画。有什么办法可以像样式表一样在一处定义它们?

此刻,我的nav_graph.xml看起来像这样:

<fragment
    android:id="@+id/questionnaireFragment"
    android:name="de.fragdichselbst.view.ui.QuestionnaireFragment"
    android:label="fragment_questionnaire"
    tools:layout="@layout/fragment_questionnaire" >
    <action
        android:id="@+id/action_questionnaireFragment_to_subjectFragment"
        app:destination="@id/subjectFragment"
        app:enterAnim="@anim/slide_in_right"
        app:exitAnim="@anim/slide_out_left"
        app:popEnterAnim="@anim/slide_in_left"
        app:popExitAnim="@anim/slide_out_right" />
</fragment>
<fragment
    android:id="@+id/subjectFragment"
    android:name="de.fragdichselbst.view.ui.SubjectFragment"
    android:label="fragment_subject"
    tools:layout="@layout/fragment_subject" >
    <argument
        android:name="questionnaire_id"
        app:argType="integer" />
    <action
        android:id="@+id/action_subjectFragment_to_quizSettingsFragment"
        app:destination="@id/quizSettingsFragment"
        app:enterAnim="@anim/slide_in_right"
        app:exitAnim="@anim/slide_out_left"
        app:popEnterAnim="@anim/slide_in_left"
        app:popExitAnim="@anim/slide_out_right" />
    <action
        android:id="@+id/action_subjectFragment_to_savedQuizFragment"
        app:destination="@id/savedQuizFragment" />
</fragment>

如您所见,我对每个动作都使用相同的动画。但是,如果我有多个片段并且想要更改动画怎么办?我将不得不更改很多代码行。因此,我想在一个位置上定义所有过渡的动画。

0 个答案:

没有答案