【发布时间】:2021-03-10 09:30:25
【问题描述】:
我正在使用navigation 组件
'androidx.navigation:navigation-fragment-ktx:2.3.3'
'androidx.navigation:navigation-ui-ktx:2.3.3'
当我从 startDestination 导航到下一个 Fragment 时,我不明白为什么
我眨了眨眼,看到之前的活动持续了几毫秒。
当我导航到不同的片段时,不会发生这种情况。
无论有无导航动画,都会发生这种情况。
尝试在堆栈中没有以前的 Activity 并显示 OS 主屏幕。
navigation.xml 文件如下所示:
<fragment
android:id="@+id/barcodeScannerFragment"
android:name="com.sightplan.sightplanmobile.feature.barcode_scanner.BarcodeScannerFragment"
android:label="@string/receive_package_barcode_input_view_header_param_title"
tools:layout="@layout/barcode_scanner_fragment_layout">
<action
android:id="@+id/open_receive_package_details"
app:destination="@id/receivePackageDetailsFragment"
app:enterAnim="@anim/slide_left_anim"
app:exitAnim="@anim/wait_anim"
app:popEnterAnim="@anim/wait_anim"
app:popExitAnim="@anim/slide_right_anim" />
</fragment>
<fragment
android:id="@+id/receivePackageDetailsFragment"
android:name="com.sightplan.sightplanmobile.packages.receive_package.ReceivePackageDetailsFragment"
android:label="@string/receive_package_activity_on_create_header_bar_title"
tools:layout="@layout/receive_package_details_fragment_layout">
.......
从startDestination 导航到Receive Package 屏幕的代码在这里:
val action = BarcodeScannerFragmentDirections.openReceivePackageDetails()
Navigation.findNavController(it).navigate(action)
关于如何解决这个问题的任何想法?
【问题讨论】:
-
请发布执行导航和导航图片段项目的代码(带有操作)。
-
@ShlomiKatriel 刚刚更新了问题,如果您需要其他任何信息,请告诉我
-
请尝试将
exitAnim替换为app:exitAnim="@null"。如果能成功,说明@anim/wait_anim有问题 -
正如我在问题中提到的,这种情况在没有动画的情况下也会发生。我删除了整个动画,问题仍然存在
-
移除动画和放入
@null动画是有区别的。删除动画将使用默认动画(至少据我所知)。
标签: android user-interface android-fragments uinavigationcontroller android-transitions