保留片段状态的 Android 底部导航

时间:2021-03-15 10:50:59

标签: android kotlin android-fragments navigation

我正在开发一款教育性 Android 应用,用户可以在其中练习解决一些任务。 我目前有大约 20 个任务,每个任务都有自己的片段。

为了导航,我使用导航组件和导航图。 现在我想实现一个只在任务中显示的底部导航栏(不在应用程序的菜单部分),用户可以从中打开一些他/她可以用来解决任务的工具,以及一些描述的帮助文本解决任务的方法。预期的布局如下所示:

enter image description here

在屏幕顶部我有一个自定义工具栏,在它下方,蓝色区域的其余部分是每个片段中的自定义视图,由视图模型的实时数据提供。

现在正在考虑如何实现底部导航。主要的一点是,我想保留对任务以及用户可以使用的任何工具的所有更改。 (有很多带有多个输入字段的任务...)

我一直在考虑一些解决方案,但我不确定哪一个是最好的。我希望尽可能提高资源效率,同时避免编程中的不良做法。

所以我的一个想法是为屏幕的两个“蓝色部分”之间的部分创建另一个片段,并为所有20个任务片段创建一个导航图来处理任务、帮助和工具之间的导航.所以基本上创建嵌套片段。修改所有片段和创建导航图需要大量的工作,但可能是最好的解决方案?

还考虑创建一个空视图组来重叠同一区域,如果用户打开帮助/工具,我会扩大适当的布局并附加到视图组。

还考虑过在对话框中打开帮助,并以某种方式将其定位到正确的位置。

或者我应该以某种方式打开一个新片段来重叠当前显示的片段,该片段在我希望从底部片段可见的区域上具有透明视图? (“屏幕的蓝色部分”。)

哪种解决方案最适合使用? 或者有比以上任何一个更好的解决方案吗?

我对 Android 没有太多经验,所以欢迎提供任何建议。

非常感谢您的帮助,最良好的祝愿, 阿戈斯顿

0 个答案:

没有答案