android-fragments Android导航组件片段过渡具有白色背景

kcrjzv8t  于 2022-11-13  发布在  Android
关注(0)|答案(2)|浏览(137)

我正在使用Jetpack Navigation库,并且遇到片段过渡问题,无论是渐变还是幻灯片动画,它总是有一个白色背景,而不是以前的屏幕内容。
片段A -〉片段B,当动画运行时,背景不是片段A,而是白色背景。

  • 导航功能 *
<fragment
      android:id="@+id/nav_page"
      android:name="my.fragmenta"
      tools:layout="@layout/fragment_a">

    <action
        android:id="@+id/action_to_b"
        app:destination="@id/nav_b"
        app:enterAnim="@anim/slide_in_up"
        app:popExitAnim="@anim/slide_out_down"/>
  </fragment>
  • 活动样式 *
<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:statusBarColor">@color/statusBarColor</item>
  </style>
  • 动画文件 *
<translate
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromYDelta="100%p"
    android:toYDelta="0"
    android:duration="@android:integer/config_longAnimTime" />

<translate
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromYDelta="0"
    android:toYDelta="100%p"
    android:duration="@android:integer/config_longAnimTime" />

有人知道怎么修吗?

ggazkfy8

ggazkfy81#

经过多次尝试,我认为这是制作过渡动画的最佳方法:

<action
    android:id="@+id/id"
    app:destination="@id/dest"
    app:enterAnim="@anim/slide_in_bottom"
    app:exitAnim="@anim/slide_out_top"
    app:popEnterAnim="@anim/slide_in_top"
    app:popExitAnim="@anim/slide_out_bottom"/>

<action
    android:id="@+id/id"
    app:destination="@id/dest"
    app:enterAnim="@anim/slide_in_right"
    app:exitAnim="@anim/slide_out_left"
    app:popEnterAnim="@anim/slide_in_left"
    app:popExitAnim="@anim/slide_out_right"/>

您应该具有所有四个事件以获得平滑的动画。

trnvg8h3

trnvg8h32#

需要注意的是你必须定义动作中所有的Anim字段。

<action
        android:id="@+id/action_profileFragment_to_personalInfoFragment"
        app:destination="@id/personalInfoFragment"
        app:enterAnim="@android:anim/slide_in_left"
        app:exitAnim="@android:anim/slide_out_right"
        app:popEnterAnim="@android:anim/slide_in_left"
        app:popExitAnim="@android:anim/slide_out_right"/>

相关问题