如何locking片段方向而不locking活动方向?

我有一个特定的用例,我想要一个片段被locking在肖像模式,但仍然旋转活动(和/或其他片段在同一活动中可见)。 有没有可能做到这一点?

所有locking片段方向的解决scheme都build议使用setRequestedOrientation并locking活动方向,但我需要其他可见的片段进行旋转。

我的应用程序支持API 10+(如果有一个很好的解决scheme,使用API​​ 11+,我可能会考虑删除对API <11中的横向支持)。

提前致谢。

Solutions Collecting From Web of "如何locking片段方向而不locking活动方向?"

看看这个答案:

覆盖每个片段中的setUserVisibleHint()。

在肖像中只有碎片:

@Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if(isVisibleToUser) { Activity a = getActivity(); if(a != null) a.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } } 

在肖像/风景片段中:

 @Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if(isVisibleToUser) { Activity a = getActivity(); if(a != null) a.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR); } } 

这将允许整个活动在一个片段中旋转,但是将其固定在其他人的肖像上。

通过回答: https : //stackoverflow.com/a/13252788/2767703

答案可能迟了一点,但正如我所看到的,你还没有find解决scheme,你可以尝试这样做,每当你从你的活动中调用你的片段,在它之前添加下面的代码

 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR); 

和所有其他/默认片段

 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR); 

希望我帮助