gpt4 book ai didi

android - 如何在不锁定 Activity 方向的情况下锁定 fragment 方向?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:40:10 24 4
gpt4 key购买 nike

我有一个特定的用例,我希望 fragment 以纵向模式锁定,但仍旋转 Activity (和/或同一 Activity 中可见的其他 fragment )。有可能吗?

所有锁定 fragment 方向的解决方案都建议使用 setRequestedOrientation 并锁定 Activity 方向,但我需要其他可见 fragment 来旋转。

我的应用程序支持 API 10+(如果有使用 API 11+ 的不错的解决方案,我可能会考虑在 API <11 中移除对横向的支持)。

提前致谢。

最佳答案

看看这个答案:

在每个 fragment 中覆盖 setUserVisibleHint()。

在肖像只有 fragment :

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

在纵向/横向 fragment 中:

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

这将允许整个 Activity 在一个 fragment 中旋转,但在其他 fragment 中将其固定为纵向。

回答者: https://stackoverflow.com/a/13252788/2767703

关于android - 如何在不锁定 Activity 方向的情况下锁定 fragment 方向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20370636/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com