2

我发现在decorView,有或没有标题或ActionBarViewStub都会存在。

它有什么用?

在此处输入图像描述

4

3 回答 3

1

ViewStub是一种 a View,稍后会在需要时懒惰地膨胀。

在您发布的图表中,您可以看到action_mode_bar_stubid。

显然,您实际上并不总是需要夸大该视图。您只需要在用户进入Contextual Action Mode时使用它。因此,为了不使视图层次结构复杂化,在用户实际需要显示该视图之前,该视图不会被膨胀。一旦膨胀,视图层次结构就会改变,你将不再看到ViewStub那里。

于 2017-05-26T13:03:23.783 回答
0

看这个文件:https ://github.com/aosp-mirror/platform_frameworks_base/blob/6bebb8418ceecf44d2af40033870f3aabacfe36e/core/res/res/layout/screen.xml

在此文件中,实际代码为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"/>

有人说它是动作模式的弹出栏。

于 2020-01-27T13:32:25.543 回答
0

基于此视图的 id,它可能是ActionMode布局的位置/空间/容器。在某些设备上,它可能如下所示(内容上方的顶栏,当ActionBar/Toolbar现在被替换时)

动作模式示例

于 2017-05-26T12:19:17.050 回答