android-architecture-navigation相关内容

Android 导航组件:以编程方式从与家不同的目的地开始?

我正在尝试根据 github 示例.但是,该示例为每个选项卡使用了不同的导航图,这使事情变得简单.就我而言,我需要对所有选项卡使用相同的导航图,但起始目的地与导航图中设置的“主页目的地"不同. 到目前为止,我已经设法修改了 NavigationExtensions 文件,以便为所有选项卡实现单个导航图,并且我获得了多个带有自己的后台堆栈的 navControllers,但我不知道如何在不同的 ..

如何在 Android 中使用 Navigation Drawer 设置导航组件?

如何设置带有导航抽屉的导航组件?如何在我的应用中使用它? 可以用一个 Activity 完成所有事情吗? 如何仅使用一个具有动态工具栏可见性的 Activity 和片段来处理工具栏可见性.此外,我需要关闭抽屉并使其无法访问. 这个问题是一个自我回答的问题,更像是一个教程,而不是现实生活中的 QA. 解决方案 如何设置带有导航抽屉的导航组件? 如何在我的应用中使用 ..

导航架构组件 - 活动

我一直在关注导航架构组件 了解这个新导航系统的工作原理. 要从一个屏幕返回/返回到另一个屏幕,您需要一个实现 NavHost 接口的组件. NavHost 是一个空视图,因此目的地被交换并当用户浏览您的应用时退出. 但是,目前似乎只有 Fragments 实现了 NavHost 导航架构组件的默认 NavHost 实现是 NavHostFragment. 所以,我的问 ..
发布时间:2021-11-27 13:57:11 移动开发

如何为导航操作定义默认动画?

我使用的是 Android Studio 3.2 Canary 14 和 导航架构组件.有了这个,您可以像使用 Intent 一样定义过渡动画. 但是动画被设置为导航图中动作的属性,如下所示: 为图中的所有动作定义这会很乏味! 有没有办法在动作上定义一组默认动画? 我没有运气为此使用样式. 解决方案 R.anim 具有定义的默认动画(作为最终): nav_de ..

与 Android 架构导航等效的 startActivityForResult()

我有一个包含 3 个屏幕的工作流程.从“屏幕 1"到访问“屏幕 2",用户必须接受某种条款和条件,我在我的图片中称之为“模态".但他只需要接受一次那些条件.下次他在第一个屏幕时,他可以直接进入屏幕2.用户可以选择不接受条款,因此我们回到“屏幕1"而不尝试去“屏幕2". 我想知道如何使用新的导航组件. 以前,我会怎么做: 在屏幕 1 上,检查用户是否必须接受条件 如果不是,则启动 ..
发布时间:2021-11-27 13:56:51 移动开发

导航架构组件 - 启动画面

我想知道如何使用导航架构组件实现启动画面. 直到现在我有这样的东西 用户第一次必须在 ProfileFragment 中设置他的个人资料,并且可以从 ChatFragment 编辑他们的个人资料. 我的问题是我不知道如何在导航后从堆栈中删除 SplashFragment.我看过条件导航,但不太明白. 解决方案 当闪屏显示给用户几秒钟时,这是一种常见的误用,用户正在浪费时间 ..

通过导航组件导航替换其所在的片段后,片段中的 ViewPager2 泄漏

起初,我在 BottomNavigationView 和数据绑定的选项卡内遇到了 ViewPager2 的问题,数据绑定也会随着 ViewPager2 泄漏,应该在 onDestroyView 中被清零,泄漏并设法将问题缩小到 ViewPager2,同时使用 findNavController().navigate. 这是如何发生的,当我导航到另一个用 ViewPager2 替换当前片段时会 ..

使用 Android 导航将数据传回上一个片段

我已经开始使用 Android 架构组件(导航和安全参数、视图模型)以及 Koin 库. 目前,我在两个片段之间传递参数时遇到问题 - 我需要将字符串值从片段 A 传递到片段 B,在片段 B 中修改该值并将其传递回片段 A. 我找到了一种可能的解决方案 - 共享视图模型.不幸的是,这种方法有一个问题,因为我可以在屏幕之间传递和修改值,但是当片段 A 导航到另一个目的地时,共享视图模型中 ..

使用 Android 导航组件中的 navigationUp 传递数据/包

我找到了问题,但在代码中没有解决方案 我想在发生反压/手动回退时获得数据.我正在使用 navigateUp() 返回.如何将数据传递给上一个片段?navigateUp() 没有任何将数据传递给前一个片段的工具.即使我没有找到使用 Safe Args.它正在向前传递数据.我想要在后向 Frad B -> Frag A 中. 返回上一个片段的代码 Navigation.findNavCo ..

具有多个堆栈的 Android JetPack 导航

我使用的是带有底部导航的 Jetpack Navigation version 1.0.0-alpha04.它有效,但导航没有正确发生.例如,如果我有选项卡 A 和选项卡 B,然后从选项卡 AI 转到页面 C,然后从那里转到选项卡 B 并再次返回选项卡 A,我将在选项卡 A 中看到根片段,而不是在页面 C 中不是我期望的. 我正在寻找一种解决方案,为每个选项卡提供不同的堆栈,因此当我返回时每个选 ..

带有两个选项卡的 ViewPager 在滑动和单击时会导致 IndexOutOfBoundsException

我有两个选项卡,我在其中添加了两个不同的数据列表,两个选项卡共享一个 recyclerview,因此在我的 viewpager 适配器中,我只创建了一个新实例来填充数据 从视图 val allProducts = completeProductListval productsList = mutableListOf()val DrinkList = mutableListOf()对于(所有 ..

如何从 ViewPager2 的 NavHostFragment 内的片段导航回来?

从 ViewPager2 的嵌套片段返回的正确方法是什么? 尽管使用 app:defaultNavHost=“true" 和 FragmentContainerView 在页面的嵌套片段中按后退按钮调用 Activity 的后按而不是导航回上一个片段. 解决方案 根据 创建NavHostFragment文档,app:defaultNavHost=“true"调用setPrimaryN ..

导航架构组件 - 登录屏幕

我打算实现这样的导航: 我面临的问题是当用户在 LoginFragmennt 并按下后退按钮时它再次加载 LognFragment 即.陷入循环. 我按照 这个 答案. 如何正确实施? 解决方案 这是 Ian Lake 在 .该解决方案基于导航 2.3 版本,其中引入了 能够将结果返回到之前的目的地. 在我们的例子中,登录片段将 LOGIN_SUCCESSFUL 状 ..
发布时间:2021-11-27 13:54:49 Java开发

如何以编程方式更改导航图的起始目的地 [Jetpack]

基本上,我有以下导航图: 我想在到达它后立即将导航图中的起点更改为 fragment 2(以防止在按下后退按钮时返回到 fragment 1 - 例如与启动画面). 这是我的代码: navGraph = navController.getGraph();navGraph.setStartDestination(R.id.fragment2);navController.setGrap ..