Android 导航组件 fragment 转换具有白色背景

标签 android android-fragments android-jetpack android-navigation android-jetpack-navigation

我正在使用 Jetpack Navigation 库并且 fragment 转换有问题,如果它是淡入淡出或滑动动画,它始终具有白色背景而不是之前的屏幕内容。

fragment A -> fragment B,当动画运行时看到的背景不是fragment 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>

Activity 风格

  <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" />

有人知道如何解决吗?

最佳答案

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

<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"/>

您应该拥有所有四个事件才能获得流畅的动画效果。

关于Android 导航组件 fragment 转换具有白色背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56838822/

相关文章:

android - onTimeChangedListener 未触发

android - 无法使用Firebase性能进行编译。 (无法找到方法...)

Android日期选择器示例 : DatePickerDialog. OnDateSetListener(){} 必须实现继承的抽象方法onDateSet

java - 无法通过数据绑定(bind)在 Fragment 上使用 RecyclerView

android - 将 ActionBar 选项卡绑定(bind)到 ViewPager

Android Jetpack 导航组件问题,以启动 fragment 作为根目标

java - Android应用程序备份和恢复?

java - 在滚动设计支持库上隐藏工具栏

Android Compose 如何通过拖动边框来缩放和旋转图像?

android - 无法获取未知属性 'navigationVersion'