如何在viewpager中设置代码的屏幕方向?

时间:2017-04-13 11:24:04

标签: android android-viewpager

所以我在我的应用程序中有一个实现的viewpager,我想在每个页面上设置屏幕方向PORTRAIT,除了一个应该使用BOTH的页面。现在我正在使用这段代码,但在这种情况下,每个页面都使用BOTH方向。

在Mainfest中:

<activity android:name=".ViewPagerActivity" android:screenOrientation="portrait">

在片段中:

getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);

1 个答案:

答案 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);
    }
}