从 2019 年开始, Google 建议更换片段<fragment>
容器,例如.<FrameLayout>
FragmentContainerView
有人可以向我解释这些容器之间的根本区别是什么吗?FragmentContainerView
真正更好的是什么?
从 2019 年开始, Google 建议更换片段<fragment>
容器,例如.<FrameLayout>
FragmentContainerView
有人可以向我解释这些容器之间的根本区别是什么吗?FragmentContainerView
真正更好的是什么?
总的来说,在网上翻遍了足够多的东西,我发现了一些东西:
可以用作普通容器来
FrameLayout
交换fragmentManager()
它也可以用来代替
<fragment>
:它解决了片段退出动画的Z坐标问题。在这里阅读更多
虽然它本身是从它
FragmentContainerView
继承而来的FrameLayout
,但没有其他任何东西可以放入其中View
。否则,说Exception
。在这里,我们可以指定标签参数(可选),稍后我们可以通过该参数使用以下方法拉取片段
FragmentManager.findFragmentByTag(tag)
:animateLayoutChanges
- 如果我们将其设置为 true,那么我们将UnsupportedOperationException
在 API 级别 18 之后的任何 android 中捕获它如果其他人有什么要补充的,我很乐意。
在网上搜索,我能够找到有关该帐户的一些信息
FragmentContainerView
。形式上,这些信息在官方文档中,但呈现不佳,注意力不集中在这方面。就个人而言,我在阅读文档时错过了所有最重要的内容 :)那么,与以下
FragmentContainerView
相比有什么优势FrameLayout
:android:name="com.example.MyFragment"
或class="com.example.MyFragment"
)设置初始片段android:tag="my_tag"
view
碎片以外的任何东西(不是最大的优点,但消除了不小心出错的可能性)第4点是关键。有一个已知的错误,它在于无法充分自定义同时打开新片段和关闭旧片段的动画。这个bug的本质是动画是同时启动的,但是老的fragment先在视觉上消失了,然后开始的fragment的动画继续播放(之前只是被老fragment隐藏了)。看起来不太好。默认情况下,导致错误的机制被禁用,可以通过setCustomAnimations
FragmentContainerView
以与以前相同的方式设置自定义动画。如果您不使用动画来打开/关闭片段,并且您确定不会使用它们,那么没有太多理由转向
FragmentContainerView
. 动画是唯一发生根本性变化的东西,并且不可能(非常困难)自己修复。好吧,码头上有关此主题的所有内容:
唉,他们没想到用字体或其他方式突出显示它。