我发现在decorView
,有或没有标题或ActionBar
,ViewStub
都会存在。
它有什么用?
ViewStub
是一种 a View
,稍后会在需要时懒惰地膨胀。
在您发布的图表中,您可以看到action_mode_bar_stub
id。
显然,您实际上并不总是需要夸大该视图。您只需要在用户进入Contextual Action Mode时使用它。因此,为了不使视图层次结构复杂化,在用户实际需要显示该视图之前,该视图不会被膨胀。一旦膨胀,视图层次结构就会改变,你将不再看到ViewStub
那里。
在此文件中,实际代码为action_mode_bar_stub
:
<!-- Popout bar for action modes -->
<ViewStub android:id="@+id/action_mode_bar_stub"
android:inflatedId="@+id/action_mode_bar"
android:layout="@layout/action_mode_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="?attr/actionBarTheme"/>
有人说它是动作模式的弹出栏。
基于此视图的 id,它可能是ActionMode
布局的位置/空间/容器。在某些设备上,它可能如下所示(内容上方的顶栏,当ActionBar
/Toolbar
现在被替换时)