所以我在我的应用程序中有一个实现的viewpager,我想在每个页面上设置屏幕方向PORTRAIT,除了一个应该使用BOTH的页面。现在我正在使用这段代码,但在这种情况下,每个页面都使用BOTH方向。
在Mainfest中:
<activity android:name=".ViewPagerActivity" android:screenOrientation="portrait">
在片段中:
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
答案 0 :(得分:1)
您可以使用setUserVisibleHint
在您的ViewPager
片段
来自文档:
为系统设置有关此片段的UI当前是否正确的提示 对用户可见。此提示默认为true且持久 跨片段实例状态保存和恢复。
因此,在您的特定片段中覆盖此方法并应用方向更改。
例如:
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if(isVisibleToUser) {
Activity activity = getActivity();
if(activity != null) activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR);
}
}