我的应用程序有一个Activity,其自定义FragmentStatePagerAdapter包含三个片段使用ViewPager和TabLayout。 其中一个片段支持横向和纵向,另外两个固定为纵向。 下面是片段中的代码,
// Used by the fragment which supports Portrait only
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if(isVisibleToUser) {
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
}
//Used by the fragment which supports Portrait and lanscape
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if(isVisibleToUser) {
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR);
}
}
当我们尝试从其他标签(纵向修复)纵向导航到标签(完整传感器)时,它工作正常。但是当我们尝试在横向模式下导航时, ViewPager加载错误的片段(选定的选项卡除外)将加载到横向选定的选项卡中。