gpt4 book ai didi

android - 设计问题 - 从 TabLayout 启动新 fragment

转载 作者:行者123 更新时间:2023-11-29 01:11:22 25 4
gpt4 key购买 nike

我不太确定是否有解决以下设计问题的“最佳方法”。

我的 MainActivity 中有一个带有 2 个选项卡的 Tablayout。每个选项卡都是一个不同的 fragment 。我转到 Tab1 并查看 Fragment1。我需要从 Fragment 1 启动一个新的 Fragment (1A),但我不确定这样做的最佳方式?我在考虑其中之一。

A) 从我的 MainActivity 中取出选项卡并将它们放在一个单独的 MainFragment 中,该 MainFragment 随应用程序一起启动。这样,当用户启动 Fragment 1A 时,它只会用选项卡替换 1 MainFragment。

B) 将 Tabs 保留在 MainActivity 中,并在 Tab1 下找到将 Fragment 1 替换为 Fragment 1A 的方法。

如有任何建议,我们将不胜感激。谢谢。

最佳答案

我认为你不应该做这两点...... Tab1 下可见的 Frag1 应该包含该 View 的所有布局(包括初始隐藏)和逻辑。如果你需要显示 smth new 它可能更小(然后是弹出窗口、对话框等)或扩展一些布局,也许有一些动画(你仍然可以在 Fragment 中使用 ViewPagerViewPager 中,禁用触摸事件并以编程方式操作滚动...)。

当用户选择的 Action 旨在显示 smth so-much-improtant 之前的屏幕根本不需要时,您可能应该打开新的 Activity

附言。如果您坚持要替换当前的“屏幕”(实际上是 Activity 的内容),请注意 Tab1 的标题可能不代表包含 Frag1A 的内容。这在很大程度上取决于您那里有什么样的内容。您可以考虑将 TabLayout/RecyclerView 移动到例如FrameLayout 容器并将 Frag1A 添加到其中,覆盖整个先前的 View ,包括选项卡。在当前的设计指南中,您甚至可以找到显示新 fragment 的建议解决方案 - 使用圆形显示动画

关于android - 设计问题 - 从 TabLayout 启动新 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42753899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com