问题标签 [android-architecture-navigation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
19735 浏览

android - 如何定义导航操作的默认动画?

我正在使用 Android Studio 3.2 Canary 14 和Navigation Architecture Component。有了这个,您可以像使用 Intents 时一样定义过渡动画。

但是动画被设置为导航图中动作的属性,如下所示:

为图中的所有动作定义这变得很乏味!

有没有办法将一组动画定义为默认的动作?

我没有运气为此使用样式。

0 投票
1 回答
4585 浏览

android - Android Jetpack 导航库和 onActivityResult

我正在尝试将应用迁移到在 GoogleIO'18 上宣布的新导航架构组件

假设我需要使用通常以startActivityForResult. 此活动来自库或系统活动,因此我无法修改它。

有没有办法将此活动作为目的地包含在导航图中并从中获取结果?

0 投票
3 回答
6621 浏览

android - 如何在导航架构组件中实现条件导航

在新的 Navigation 架构组件中,如何实现条件导航?

目前,我有一个使用 LoginFragment 和 HomeFragment 的活动。基于某个 login_flag,我曾经从 MainActivity 调用任一片段。由于只调用了一次 LoginFragment,因此我将 startDestination 设置为 HomeFragment,并且导航会加载此 HomeFragment。有没有办法在导航加载 HomeFragment 之前检查 login_flag。

0 投票
16 回答
90604 浏览

android - IllegalStateException:链接没有设置 NavController

我正在使用 Android 导航组件进行导航。我有一个 LoginFragment,它有一个转换为 SignUpFragment 的按钮。单击按钮时,我收到此错误。

这是我的 nav_graph.xml

这是 LoginFragment 中用于导航的代码 -

这是 NavHostFragment 的活动布局文件的摘录 -

0 投票
14 回答
147676 浏览

android - 导航到Android中的另一个片段后如何清除导航堆栈

我在 android 中使用新的导航架构组件,并且在移动到新片段后我被困在清除导航堆栈中。

示例:我在 loginFragment 中,我希望在导航到主片段时从堆栈中清除此片段,以便用户在按下后退按钮时不会返回到 loginFragment。

我正在使用一个简单的NavHostFragment.findNavController(Fragment).navigate(R.id.homeFragment)进行导航。

当前代码:

我尝试在navigate()中使用NavOptions,但后退按钮仍在将我送回 loginFragment

0 投票
14 回答
61501 浏览

android - Android Jetpack Navigation、BottomNavigationView 与 Youtube 或 Instagram 类似正确的后退导航(片段后退堆栈)?

Android Jetpack Navigation,BottomNavigationView 在后退按钮单击时具有自动片段返回堆栈?

我想要的是,在用户一个接一个地选择多个选项卡后,用户单击后退按钮应用程序必须重定向到他/她打开的最后一页。

我使用 Android ViewPager 实现了相同的目的,方法是将当前选定的项目保存在 ArrayList 中。Android Jetpack Navigation 发布后是否有自动回栈?我想使用导航图来实现它

activity_main.xml

导航.xml

还添加了

我得到了一个答案Levi Moreira,如下

但是这样做只会发生最后打开的片段的实例再次创建。

为 BottomNavigationView 提供正确的后退导航

0 投票
15 回答
36454 浏览

android - 使用 AndroidX 导航的 Fragment 中的动态 ActionBar 标题

我正在使用来自 Android Jetpack的新导航组件。

根 Activity 设置非常简单:

当在导航图中定义片段的标题时,它工作得很好。但是对于一个片段,我想动态设置标题。

我试过了,findNavController().currentDestination.label = "Hello world"但它什么也没做。

我当然可以使用类似的技巧(activity as? AppCompatActivity)?.supportActionBar?.title = "Hello world",但我觉得它会打破对我有用的魔法setupActionBarWithNavController()。有什么方法可以动态更新操作栏标题吗?

0 投票
2 回答
19653 浏览

android - 如何在 Jetpack 中使用导航启动第二个活动

你知道它现在是官方的:谷歌官方推荐单活动应用程序架构。但这里有一个困难。我们有多项活动。所以当我想用多个活动实现导航时,我失败了。

他们说:在多个Activity共享相同布局的情况下,可以组合导航图,代替对活动目的地的导航调用,直接在两个导航图之间导航调用。在这里

所以我创建了这个:

之后,我在这里找不到任何用于多项活动的样本 有一些这样的样本:

但是 findNavController() 等待视图,而不是活动。

我该如何解决这些人?

0 投票
1 回答
3871 浏览

android - Android Jetpack 导航系统过渡

例如在此处的 Android Jetpack 导航组件中。我想知道当屏幕改变时是否可以使用默认系统动画(例如启动新活动时的动画)。这将在enterAnimexitAnim参数的上下文中。

0 投票
0 回答
512 浏览

java - 在 AndroidX 中使用导航

我想使用 AndroidX Jetpack 库创建一个 Android 项目。但是这个库(导航)在 androidx 包中还没有。

我的 gradle 依赖项

我也有compileSdkVersion 'android-P'

但是当我想启动应用程序时,我得到了这个错误

然后我去Navigate -> Class哪个结果

我经常Clean Project尝试Rebuild Project

在我的 gradle.properties

如果我设置enableJetifier为 true 整个 android.support v4 库就会丢失,并且导航也不起作用,因为 android.support.v4.Fragment 丢失(和其他东西)。