我有一個活動,它內部有一個佔用整個屏幕的片段。在應用程序流程的某個時刻,用戶可以在由兩個獨立片段組成的相同活動中轉到另一個屏幕。所以,你可以把它想象成:Android:在一個頁面上將一個片段變成兩個片段
片段A(屏幕的100%) - >片段B(50%)+ C片段(50%)
我能想到的這樣做的兩種方式,並沒有其中一個特別好。首先是爲其中包含一個容器的活動設置佈局,該容器將容納片段A,然後在片段A中打開片段B和C。我試圖避免使用亞片段,因爲它會導致不尋常的生命週期錯誤,並且它也不受所有api版本的支持。
第二種方法是爲活動分配兩個佈局 - 一個佈局具有一個容器,第二個佈局具有兩個容器,然後在適當的時候使用setcontentview在它們之間切換。我不得不承認,我對這個解決方案也不太滿意,因爲這意味着用戶會看到屏幕重繪爲白色,而不是很好的過渡效果。
有沒有人有任何建議如何最有效地做到這一點?請注意,我確實希望一切都保持在一項活動之下 - 邏輯上它應該是這樣。爲此UI移動進行兩個獨立的活動沒有任何邏輯意義。
在MainActivity中有兩個容器呢?當使用碎片A時,容器1佔據全屏幕。當片段B + C在那裏時,你使用兩個容器佔據屏幕的50%? – apmartin1991
您可以使用由兩個容器組成的'LinearLayout',其中一個初始設置爲重量爲'100',另一個爲重量爲'0'。在運行時,你可以編程調整自己的體重。聽起來像它可以工作 - – PPartisan
- 我會給它一個鏡頭。非常感謝! – Jon