我可以立即在其他地方移动片段而不重新创建任何内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我可以立即在其他地方移动片段而不重新创建任何内容相关的知识,希望对你有一定的参考价值。

这可能听起来很愚蠢,但我可以这样做吗?我搜索了一下,this说“重新附加一个片段...导致它的视图层次结构被重新创建,附加到UI,并显示。”,可能意味着片段的UI被重新创建失去状态和其他东西。

我之所以要这样做,是因为我希望实现类似谷歌地图底层的东西。唯一的标题部分显示在底部,但我们可以将其向上滑动,它将成为底部工作表。我认为当只显示标题部分时,它实际上并不是底页,因为很难准确显示底部工作表的那一部分。我认为谷歌地图已将标题部分分开,并将其替换为底部工作表,其顶部部分看起来就像标题部分,当向上滑动时。

因此,为了达到类似的效果,我想我会创建一个UI集群作为片段,当用户开始向上滑动时,我放置一个底片,其中peek大小设置为片段的高度,并移动碎片放入底部薄片的顶部,以便可以向上滑动。

但我希望保留片段的所有内容而不重新创建任何内容,就像我拍摄片段并立即移入片段一样。这是可能的,还是应该保存状态并在重新创建片段的UI时恢复它们?

答案

是。将片段视为View,并根据行为使用ObjectAnimator或任何动画类。 (上滑动画将起作用)

注意:即使您在主布局上显示20%的部分,片段也会首先初始化。状态将保持不变我猜这回答了你的问题。

以下是您工作的类似示例。 Reference

以上是关于我可以立即在其他地方移动片段而不重新创建任何内容的主要内容,如果未能解决你的问题,请参考以下文章

恢复片段而不重新创建?

Android Honeycomb:如何更改 FrameLayout 中的片段,而不重新创建它们?

Android Honeycomb:如何更改 FrameLayout 中的片段,而不重新创建它们?

在片段中在运行时更改方向时更改布局而不重新创建视图

在没有娱乐的片段之间移动 - Kotlin

我如何仅导入PyPI程序包,而不从中导入任何内容?