25

[更新]

我通过添加 addHeaderView 解决了这个问题:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mTitle = mDrawerTitle = getTitle();
    mPlanetTitles = getResources().getStringArray(R.array.planets_array);
    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
    mDrawerList = (ListView) findViewById(R.id.left_drawer);

    LayoutInflater inflater = getLayoutInflater();
    ViewGroup mTop = (ViewGroup)inflater.inflate(R.layout.header_listview_menu, mDrawerList, false);
    mDrawerList.addHeaderView(mTop, null, false);

=================================

我的问题很简单!

我想如何在导航抽屉中添加标题?

我已经为每个项目创建了带有列表视图(图标+文本)的导航抽屉。

非常感谢,

在此处输入图像描述

4

3 回答 3

11

您可以像在任何其他 中添加标题一样执行此操作,方法是ListView教您ListAdapter返回标题行和详细信息行。在低级别,这涉及覆盖您的getViewTypeCount()和之类的方法,以及了解行类型之间的区别。或者,使用现有的高级实现,如https://github.com/emilsjolander/StickyListHeadershttp://code.google.com/p/android-amazing-listview/或在搜索.getItemViewType()ListAdaptergetView()android listview headers

于 2013-06-05T14:42:36.387 回答
5

将 a 放在 aTextView上方ListView,并将其包裹在一个 vertical 内LinearLayout。给你的 ListViewandroid:layout_weight="1"android:layout_height="0dip"

于 2013-06-05T14:39:57.230 回答
0

也许有点晚了,但我想我有一个更简单的解决方案。在 Activity 的布局中,您可以添加例如 LinearLayout,而不是在 DrawerLayout 中添加 listView,并且可以轻松添加分隔符和行。例如:

<RelativeLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <com.astuetz.viewpager.extensions.PagerSlidingTabStrip
            android:id="@+id/indicator"
            android:layout_height="48dip"
            android:layout_width="fill_parent"/>

        <ViewPager
            android:id="@+id/pager"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"/>

    </LinearLayout>

</RelativeLayout>

<LinearLayout 
    android:orientation="vertical"
    android:id="@+id/left_drawer"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:background="#111">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Separator 1"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="First button"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Separator 2"/>

</LinearLayout>

在 Activity 中,您可以将侦听器添加到按钮。

希望有帮助!

于 2013-11-22T16:58:49.163 回答