片段作为导航抽屉/滑动菜单

时间:2017-03-12 00:18:58

标签: android android-fragments

我好几天都在寻找,没有任何运气。我试图让我的一个片段像导航条一样 - 在菜单点击后从侧面滑动。谁能给我一些线索?

这是我的片段:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="pl.webtube.bejmy.fragments.NotificationFragment">

<android.support.v7.widget.RecyclerView
    android:id="@+id/notification_list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    />

</FrameLayout>

我尝试将它插入DrawerLayout,没有运气。

1 个答案:

答案 0 :(得分:2)

这是一个活动布局示例,其中包含一个设置在屏幕左侧作为抽屉的片段。

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

    <!-- Things "under the drawer" -->
    <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">

        <!-- Toolbar -->
        <android.support.design.widget.AppBarLayout
                android:layout_height="wrap_content"
                android:layout_width="match_parent"
                android:theme="@style/AppTheme.AppBarOverlay">

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

        </android.support.design.widget.AppBarLayout>

        <!-- "Main Activity content", like a FrameLayout to load Fragments -->
        <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:id="@+id/container"/>
    </LinearLayout>

    <!-- The left drawer; change width to adjust size -->
    <LinearLayout
            android:layout_width="64dp" 
            android:layout_height="match_parent"
            android:layout_gravity="start"
            android:background="@android:color/background_light"
            android:fitsSystemWindows="true" >
        <fragment
                android:id="@+id/fragment_drawer"
                android:name="com.example.NavigationDrawerFragment"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"/>

    </LinearLayout>


</android.support.v4.widget.DrawerLayout>

您可以在com.example.NavigationDrawerFragment内逐字加载任何其他视图。它不需要是一个列表。