android – 如何锁定片段方向而不锁定活动方向?

前端之家收集整理的这篇文章主要介绍了android – 如何锁定片段方向而不锁定活动方向?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个特定的用例,我想要一个片段被锁定在纵向模式,但仍然旋转活动(和/或其他片段在同一活动中可见).有可能吗?

锁定片段方向的所有解决方案都建议使用setRequestedOrientation并锁定活动方向,但是我需要其他可见的片段来旋转.

我的应用程序支持API 10(如果有一个很好的解决方案使用API​​ 11,我可能会考虑删除API< 11)中的风景支持. 提前致谢.

解决方法

看看这个答案:

覆盖每个片段中的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

猜你在找的Android相关文章