关于android:如何制作底部导航的导航图?有没有办法修改回栈行为?
How to make a navigation graph for bottom navigation ? and is there a way to modify the back stack behavior?
我是导航架构组件的新手,正在尝试制作
我的应用由三个用于底部导航的片段组成。我试图做的是,我已经将图中每个可能组合中的片段链接起来。
结果不是灾难性的,但我仍然不确定这是否是正确的方法。
此外,当我使用设备的后退按钮时,应用程序会在退出应用程序之前浏览我浏览过的每个片段。
我想进行导航,以便对于第一个后退按钮,它导航回第一个片段 - 起点 - 然后对于第二个片段存在应用程序。
这是导航图的代码
<?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" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/nav_graph" app:startDestination="@id/bottom_navigation_home"> <fragment |
这是主要活动
public class MainNavigationActivity extends AppCompatActivity {
BottomNavigationView mainBottomNavigation; @Override class MainBottomNavigationControl implements |
相关讨论
-
fragmentManager?.popBackStack() 将返回上一个片段 - 我知道如何使用 FragmentManager,我想完全使用 NavigationUI 或导航图或 smth 来完成它。有没有办法使用新的拱门来做到这一点。零件 ?
-
单击第一个按钮时,您希望它返回
startDestination 吗? -
如果您按照文档使用
NavigationUI ,您将已经获得预期的行为。请包括您的代码和导航图。 - 例如,我打开应用程序,导航到第二个片段,然后导航到第三个片段,然后返回第二个片段。当我使用后退按钮时,它会按照我所做的所有操作的相反顺序将我导航回来。
- @ianhanniballake 已编辑
相关讨论
- 是的,这解决了问题,谢谢。关于图表的任何想法?
- 您不需要您指定的任何操作来使底部导航正常工作,因此它们都可以被删除。
- @ianhanniballake 但这意味着如果他导航到该图表中不是 startDestination 的选项卡,则后退按钮会将他带回 startDestination,而不是主页/登录活动。你会如何解决这个问题?
- @Lurr - 根据导航原则,您应该始终通过图表的起始目的地退出活动,这是 NavigationUI 所做的假设。
- @ianhanniballake setupWithNavController 适用于具有相同 ID 的 ui 导航图,但如何限制不创建已选择的片段?
- @SohailZahid - 如果你的意思是重新选择一个选项卡,BottomNavigationView 有一个单独的重新选择的监听器,你可以设置(例如让它什么都不做)
- 知道如何在使用导航图的片段中实现底部导航视图吗?