父片段包含Viewpager 2,子片段包含Viewpager 2,当这个特定的子片段膨胀时,子片段Viewpager 2滚动无法正常工作。
我有一个主活动。我有8个片段要膨胀。其中一个片段是basemomentfragment。这个basemomentFragment有一个viewpager 2,沿着标签布局,以及一个用于viewpager 2扩展FragmentStateAdapter的适配器。这个适配器在viewpager 2中膨胀了3个子片段。其中一个名为videoFragment的子片段在其整个视图中有另一个viewpager 2。现在,当这个videoFragment到达在屏幕上,videosfragment中的viewpager 2不能正确滚动。但是父viewpager 2工作正常。问题是如何同时运行两个VIEWPAGER。父viewpager 2是水平的。子viewpager 2是垂直的。
我已经尝试保持父viewpager 2设置为binding.viewPagerParent.setUserInputEnabled(false);但然后父停止滚动,并启用用户输入,它应该改变位置,但位置不能改变,因为没有它不接受用户输入。
它实际上工作与保持pagesviewpager 2作为VIEWPAGER(旧),但我想使用VIEWPAGER2.AND也想知道这个问题的解决方案。
1条答案
按热度按时间lnxxn5zx1#
在这个问题的研发之后。我有了我的用例的解决方案。我创建了一个扩展FrameLayout的customFrameLayout。在子片段布局XML中添加了它。在Custom Framelayout中,我添加了viewpager2。
字符串
下面是CustomFramLayout的代码。
型
}
下面是我如何在我的子片段中实现它的。
型
Viewpager2是父片段Viewpager。这就是你如何控制子片段Viewpager2中的垂直滑动的方法,子片段Viewpager2在具有水平滑动的父片段Viewpager2上膨胀。适合我。