我有一个特定的用例,我希望将片段锁定在纵向模式下,但仍然旋转活动(和/或同一活动中可见的其他片段)。可以这样做吗?
所有锁定片段方向的解决方案都建议使用 setRequestedOrientation 并锁定活动方向,但我需要其他可见片段进行旋转。
我的应用程序支持 API 10+(如果有一个使用 API 11+ 的好解决方案,我可能会考虑删除 API
提前致谢。
看看这个答案:
重写每个片段中的 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 https://stackoverflow.com/a/13252788/2767703
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)