0

佈局如何隨着youtube應用程序的方向變化而改變? 看起來像一個RecyclerView,它改變了橫向模式下的項目佈局, 這怎麼可能完成(我相信片段狀態是保留的,所以它不僅保存數據,最新位置等狀態,然後加載橫向佈局文件) 這樣做的最佳做法是什麼?android如何更改方向更改與youtube應用程序保留狀態的佈局?

肖像: enter image description here

景觀: enter image description here

+1

請查看https://inthecheesefactory.com/blog/fragment-state-saving-best-practices/en。它解釋瞭如何使用保留實例來重新創建視圖。 –

+0

謝謝@CedricFranck,它非常乾淨,但仍然如何改變與youtube應用程序相同的佈局? –

+0

您必須創建兩個XML。一個是肖像,另一個是風景。當您將方向從縱向更改爲橫向時,只需將所有視圖數據保存在保留的實例中,然後在使用橫向視圖創建活動時,您可以獲取這些數據並保存視圖。 –

回答

2

你可能在你的清單中添加

android:configChanges="orientation|screenSize" 

到您的活動。所以改變方向不會重新加載你的活動。

+1

true,但它不會改變佈局文件, 我怎麼得到它的工作,是把我已經加載的所有數據保存在保存的實例狀態,(這樣我就不必調用網絡等) 然後在佈局文件夾下,layout-land我放置相同的佈局資源,但具有不同的視圖結構,因此它將自動與橫向佈局一起加載。 也許另一種方式會使用[ConstraintLayout](https://developer.android.com/training/constraint-layout/index.html)來完成,我會試着去調查它,如果達到了結果,我會在這裏發佈它 –