【发布时间】:2014-03-02 03:43:35
【问题描述】:
我想在我的应用程序中独立更改每个片段的屏幕方向(即片段 A 仅为横向,片段 B 仅为纵向),就像我可以使用 AndroidManifest.xml 对活动执行此操作一样。
当我创建片段时,我使用Fragment.setArgunents(..) 为每个片段传递一个特定的屏幕方向常数。
我正在像这样在基本活动中切换片段:
public void setCurrentFragment(Fragment fragment, boolean addToBackstack) {
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction().replace(R.id.frameLayout, fragment);
if (addToBackstack)
fragmentTransaction.addToBackStack(Integer.toString(fragmentCount++));
fragmentTransaction.commit();
}
我尝试将方向更改为存储在setCurrentFragment 内的片段参数中的方向,在onResume、onCreate 片段方法中使用setRequestedOrientation 每种方法都会导致无限循环并改变方向(整个活动被破坏并且一次又一次地重新创建)。
有人知道正确的方法吗?
【问题讨论】:
标签: android android-fragments screen-orientation