Android Fragments 转换到新片段后,

ljsrvy3e  于 2023-10-19  发布在  Android
关注(0)|答案(2)|浏览(118)

有两个片段- RuleListFragmetn和RuleFragment。RuleListFragment片段使用MyClerView元素。网络服务器具有应用程序标志:layout_scrollFlags = "scroll | enterAlways | snap",而AppBarLayout有app参数:liftOnScroll = "true"。如果RuleListFragment中的列表尚未滚动,并且已完成到RuleFragment片段的转换,则说明已执行了URL。如果RuleListFragment中的列表已经滚动(顶部的隐藏),那么当您转到RuleFragment列表片段时,它将消失。下面的图片解释。也许在片段中你需要重新设置的位置,但怎么做呢?

nkhmeac6

nkhmeac61#

你的推测是正确的。由于appBarLayout位于Activity中,因此当您更改片段时,工具栏将保持隐藏状态。
解决方案是在新片段中调用appBarLayout.setExpanded(true)。例如,您可以在onStart中执行此操作。
更多信息请点击此处:setExpanded(boolean expanded)。

rfbsl7qr

rfbsl7qr2#

在花了几个小时试图找出为什么没有显示在一个片段,以下是我对这个主题的两分钱

  • 我的案例:*FragmentA可以使用Navigation组件**从四个不同的片段独立到达。当我从其中的三个片段导航时,FragmentA的行为正确,并显示了“”,但从第四个片段开始,它就没有了。

在使用布局检查器检查了FragmentA的布局后,我发现工具栏的可见性GONE(仅在使用该“导航路径”时)。
为了解决这个问题,我在代码中添加了toolbar.visibility = View.VISIBLE
这并不能解决根本原因,这仍然困扰着我,但它可能会帮助别人,因为它帮助了我。

相关问题