Android:从其中一个viewPager选项卡片段启动片段时隐藏viewPager选项卡
我的应用程序中有一个viewPager,它有几个选项卡。在某些选项卡中,单击一个项目时,会显示一个新片段。我想要这个片段覆盖标签。这样做是可能的,但这些方法在我看来并不好 1.)一种方法是使用Android:从其中一个viewPager选项卡片段启动片段时隐藏viewPager选项卡,android,android-fragments,android-viewpager,android-tablayout,Android,Android Fragments,Android Viewpager,Android Tablayout,我的应用程序中有一个viewPager,它有几个选项卡。在某些选项卡中,单击一个项目时,会显示一个新片段。我想要这个片段覆盖标签。这样做是可能的,但这些方法在我看来并不好 1.)一种方法是使用getSupportFragmentManager()将新创建的片段添加到活动中。这解决了问题,但看起来不是一个好主意,因为它会在使用后退按钮等时产生问题 2.)另一种方法是使用Visibility手动隐藏选项卡。GONE但这种方法的问题是隐藏选项卡是可见的,我的意思是可以看到动画,而且看起来很糟糕 有没有
getSupportFragmentManager()
将新创建的片段添加到活动中。这解决了问题,但看起来不是一个好主意,因为它会在使用后退按钮等时产生问题
2.)另一种方法是使用Visibility手动隐藏选项卡。GONE但这种方法的问题是隐藏选项卡是可见的,我的意思是可以看到动画,而且看起来很糟糕
有没有更好的方法来解决这个问题
这是我的密码。活动xml中存在“sub_fragment_container
”,因此我得到一个错误java.lang.IllegalArgumentException:未找到片段详细信息片段{
id 0x7f0e00ff(com.my.app:id/sub_fragment_container)的视图
FragmentTransaction fragmentTransaction = getChildFragmentManager()
.beginTransaction();
Fragment profileFragment = new DetailFragment();
profileFragment.setArguments(bundle);
fragmentTransaction
.add(R.id.sub_fragment_container, profileFragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
使用android:animateLayoutChanges=“true” 或者,为了进一步调整,这里有一个经过测试的方法,我个人在我的应用程序中使用过,来解决完全相同的问题
希望这对您有所帮助!非常感谢您花时间回复。如果有效,我将尝试并接受!!
LayoutTransition layoutTransition = new LayoutTransition();
layoutTransition.setDuration(200);
layoutTransition.setStartDelay(LayoutTransition.CHANGE_APPEARING, 0);
layoutTransition.setStartDelay(LayoutTransition.APPEARING, 0);
layoutTransition.setStartDelay(LayoutTransition.DISAPPEARING, 0);
layoutTransition.setStartDelay(LayoutTransition.CHANGE_DISAPPEARING, 0);
appBarLayout.setLayoutTransition(layoutTransition);