【发布时间】:2014-07-02 16:34:56
【问题描述】:
我有一个包含一个 Activity 和两个片段的应用程序。期望的行为是(用户交互以蓝色突出显示):
纵向
横向
我目前的解决方案是:
横向布局
FrameLayout
ContainerRed(FrameLayout)
ContainerYellow(FrameLayout)
纵向布局
LinearLayout
ContainerRed(FrameLayout weight=1)
ContainerYellow(FrameLayout weight=1)
当用户点击绿色按钮时,我会进行以下交易:
- 纵向:移除 FragmentA,将 FragmentB 添加到 containerYellow,addToBackstack
- 横向:将 FragmentB 添加到 contanerYellow,addToBackstack
这实现了正确的行为,除非您在事务后旋转设备,例如,如果您是纵向的,则转到屏幕 B1,然后将设备旋转到横向 FragmentA 插槽为空。
此外,如果您在屏幕 B2 中并旋转屏幕以纵向显示 FragmentA 会出现在 FragmentB 的背景中。
我该如何解决?谢谢
【问题讨论】:
标签: java android android-fragments fragment