android如何更改方向更改与youtube应用程序保留状态的布局?
问题描述:
布局如何随着youtube应用程序的方向变化而改变? 看起来像一个RecyclerView,它改变了横向模式下的项目布局, 这怎么可能完成(我相信片段状态是保留的,所以它不仅保存数据,最新位置等状态,然后加载横向布局文件) 这样做的最佳做法是什么?android如何更改方向更改与youtube应用程序保留状态的布局?
答
你可能在你的清单中添加
android:configChanges="orientation|screenSize"
到您的活动。所以改变方向不会重新加载你的活动。
+1
true,但它不会改变布局文件, 我怎么得到它的工作,是把我已经加载的所有数据保存在保存的实例状态,(这样我就不必调用网络等) 然后在布局文件夹下,layout-land我放置相同的布局资源,但具有不同的视图结构,因此它将自动与横向布局一起加载。 也许另一种方式会使用[ConstraintLayout](https://developer.android.com/training/constraint-layout/index.html)来完成,我会试着去调查它,如果达到了结果,我会在这里发布它 –
请查看https://inthecheesefactory.com/blog/fragment-state-saving-best-practices/en。它解释了如何使用保留实例来重新创建视图。 –
谢谢@CedricFranck,它非常干净,但仍然如何改变与youtube应用程序相同的布局? –
您必须创建两个XML。一个是肖像,另一个是风景。当您将方向从纵向更改为横向时,只需将所有视图数据保存在保留的实例中,然后在使用横向视图创建活动时,您可以获取这些数据并保存视图。 –