提问人:rbrn 提问时间:11/8/2023 最后编辑:rbrn 更新时间:11/9/2023 访问量:23
在 BottomNavigationView 和导航组件中切换导航堆栈时避免使用自定义动画?
Avoid using custom animations when switching navigation stacks in BottomNavigationView and navigation component?
问:
我有一个使用导航组件的组件,它使用BottomNavigationView
bottomNavigation.setupWithNavController(this.navHostFragment.navController)
它有两个项目:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/tab1"
android:title="@string/tab1title" />
<item
android:id="@+id/tab2"
android:title="@string/tab2title" />
</menu>
导航图的定义如下:
<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/navigation"
app:startDestination="@+id/tab1">
<include app:graph="@navigation/tab1"/>
<include app:graph="@navigation/tab2"/>
</navigation>
内部导航,并通过堆叠使用动作呈现的片段来工作,这些动作具有自定义动画:tab1
tab2
<action
android:id="@+id/open_fragment_1"
app:destination="@id/fragment1"
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
fragment1
tab1
tab2
tab1
open_fragment_1
我尝试使用所有定义的动画来定义我自己的动画,但这些仅适用于 和 的根片段。R.animator
nav_default_*
tab1
tab2
我怎样才能实现正确的行为?
编辑:这似乎是一个错误->https://issuetracker.google.com/issues/194113170
答: 暂无答案
评论