我有一個應用程序,其中包含一個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的背景中。
我該如何解決這個問題?感謝
哦我明白了,你使用標籤來跟蹤活動堆棧呢?這段代碼是否進入FragmentA的onCreate? – reidisaki
不,它進入包含兩個碎片的Activity的onCreate。基本上用這個代碼,你恢復你在另一個方向做的碎片交易,並重新按照新的方向做 – Addev
啊,我明白了!謝謝 – reidisaki