将操作栏添加到自定义对话框
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。
我一直在研究 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。