【问题标题】:NavigationView in ActionBarActivityActionBarActivity 中的 NavigationView
【发布时间】:2015-11-18 01:51:02
【问题描述】:

我打算使用 NavigationView 而不是在我的 DrawerLayout 中滚动我自己的,但我没有使用 NavView 的菜单结构,而是在 NavView 标记中使用我自己的 ListView。 IOW,我在 NavView 中有一个 app:headerLayout 但没有 app:menu 属性。

这适用于抽屉打开和关闭,并按预期显示我的列表,但有以下两个故障:它在我的 ActionBar 下方滑动并且不显示标题。标题在布局中,我可以找到它的 ID,但没有显示。

那么我正在尝试做的事情可能吗?我尝试使用 NavView 的唯一真正原因是它可以正确处理抽屉宽度,但如果我不能让它的其余部分按我的意愿显示,我可以不用它。

【问题讨论】:

  • 抽屉宽度应由DrawerLayout正确处理,无论您是否使用NavigationView
  • 你是对的。我想我只看过具有特定宽度设置(例如“260dp”)的 DrawerLayout 示例,然后阅读了有关 NavigationView 的内容,暗示处理正确的宽度是该小部件的特定增强。

标签: android android-layout


【解决方案1】:

您可以在navigationView 中使用listview

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
    android:id="@+id/drawer_layout"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

    <FrameLayout
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <include layout="@layout/main_toolbar" />

    </FrameLayout>

    <android.support.design.widget.NavigationView
        android:id="@+id/navigation_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"/>

        <ListView
            android:id="@+id/menuList"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
</android.support.v4.widget.DrawerLayout>

您不能使用app:headerapp:menu,因为您正在使用列表视图。您必须手动创建标题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-30
    • 1970-01-01
    • 2014-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多