首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有办法删除bottomNavigation栏的导航动画在支架中的jetpack组合?

有没有办法删除bottomNavigation栏的导航动画在支架中的jetpack组合?
EN

Stack Overflow用户
提问于 2022-04-19 12:58:42
回答 1查看 482关注 0票数 3

我使用脚手架作为我的屏幕,在bottomBar函数中插入了一个bottomBar

当我点击bottomNavigationBar中的一个项目时,我用这个栏导航到另一个屏幕,Jetpack Compose使用它的默认过渡动画,看起来像是褪色。

但是在过渡期间,底部的navigationBar也会褪色,这看起来很糟糕,因为我希望它根本没有动画。

有没有办法删除bottomNavigationBar的过渡动画?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-19 16:56:22

根据文献资料的说法,用于导航的动画由本期跟踪。

正如您在最后一个注释中所看到的,用于导航的动画API当前由相应的伴奏库提供。但是,在将来,它将被移回标准导航库。因此,现在,我建议您使用伴奏库而不是“默认”库。

如果您已经这样做了,可以使用以下内容替换动画:

代码语言:javascript
运行
复制
AnimatedNavHost(
    navController = navController,
    startDestination = ROUTE_MAIN,
    enterTransition = {
        if (initialState.destination.route == ROUTE_MAIN) {
            EnterTransition.None
        } else {
            slideInHorizontally(
                initialOffsetX = { it },
                animationSpec = tween(300)
            )
        }
    },
    exitTransition = {
        if (initialState.destination.route == ROUTE_MAIN) {
            ExitTransition.None
        } else {
            slideOutHorizontally(
                targetOffsetX = { -it },
                animationSpec = tween(300)
            )
        }
    },
    popEnterTransition = {
        if (targetState.destination.route == ROUTE_MAIN) {
            EnterTransition.None
        } else {
            slideInHorizontally(
                initialOffsetX = { -it },
                animationSpec = tween(300)
            )
        }
    },
    popExitTransition = {
        if (targetState.destination.route == ROUTE_MAIN) {
            ExitTransition.None
        } else {
            slideOutHorizontally(
                targetOffsetX = { it },
                animationSpec = tween(300)
            )
        }
    },
) {
    composable(ROUTE_MAIN) { ... }
    composable(ROUTE_DETAILS) { ... }
    ...
}

正如您在上面的示例中所看到的,我使用基于当前路由( ROUTE_MAIN )和目标路由(targetState.destination.route)的EnterTransition.NoneExitTransition.NoneExitTransition.None禁用动画。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71925377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档