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

时间:2015-01-14 18:10:10

标签: java android android-layout android-listview android-dialog

我一直在研究ListView,它允许我显示单个自定义列表对象,以及包含上述单个列表对象的组对象。起初我开始使用ExpandableListView,但我不喜欢它看起来的方式。相反,我决定使用带有自定义布局的Dialog,以便在ListView中显示群组对象的子项,如下所示:

enter image description here

以下是我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>

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

1 个答案:

答案 0 :(得分:1)

使用relativelayout包裹所有内容并插入另一个relativelayout作为具有对齐顶部的操作栏。您可以在操作栏下方对齐主布局。如果您想要材质设计的阴影效果,请将高程8dp添加到类似于动作栏的布局中。