将操作栏添加到自定义对话框

Adding an Action Bar to a custom Dialog

我一直在研究 ListView,它允许我显示个人自定义列表 object,以及包含上述个人列表 [=34] 的组 object =]秒。起初我开始使用 ExpandableListView,但我不喜欢它的样子。相反,我决定使用带有自定义布局的 Dialog,以便在我的 ListView 中显示组 object 的 children,如下所示:

这是我的 Dialog:

的布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ListView
        android:id="@+id/helmet_listview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:paddingTop="5dp"
        android:cacheColorHint="@android:color/transparent"
        android:choiceMode="multipleChoice"
        android:layout_weight="1"
        android:isScrollContainer="false">
    </ListView>

    <LinearLayout
        android:id="@+id/btnHolderLL"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/dismiss_button"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:paddingRight="1dp"
            android:paddingLeft="1dp"
            android:textColor="#FFFFFF"
            android:background="@drawable/button_selector"
            android:text="Dismiss"
            android:clickable="true" />

    </LinearLayout>

</LinearLayout>

它们的布局基本上只是用于包含 Listview 的主要 Activity 布局的副本,但是虽然说 Activity 包含操作栏,但 Dialog 没有。所以我的问题是,如何将一个带有标题的简单操作栏添加到我的 Dialog 中,如主 Activity 中所示。作为旁注,我还注意到 Dialog 中的 ListView 没有任何分隔符。这不像操作栏那么重要,但对此有一些了解也将不胜感激。

用一个相对布局包裹所有并插入另一个相对布局作为顶部对齐的操作栏。您可以将主布局对齐到操作栏下方。如果你想要material设计的阴影效果,给actionbar-like布局增加elevation 8dp。