duo-navigation-drawer

介绍:

另一种风格的抽屉布局。

运行效果:

使用说明:

Gradle:

repositories {
    mavenCentral() // jcenter() works as well because it pulls from Maven Central
}
dependencies {
    compile 'nl.psdcompany:duo-navigation-drawer:2.0.5'
}

Or Maven:

<dependency>
  <groupId>nl.psdcompany</groupId>
  <artifactId>duo-navigation-drawer</artifactId>
  <version>2.0.5</version>
  <type>pom</type>
</dependency>

1. 在activity中添加 DuoNavigationDrawer 

<nl.psdcompany.duonavigationdrawer.views.DuoDrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    ... />

2. 为 drawer添加内容视图

通过 app:content 属性添加内容视图

<nl.psdcompany.duonavigationdrawer.views.DuoDrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    app:content="@layout/content"
    ... />

也可以在drawer内部添加一个tag="content"的view来添加内容视图

<nl.psdcompany.duonavigationdrawer.views.DuoDrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    ... >
    
    <FrameLayout
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:tag="content"
        ... />
</nl.psdcompany.duonavigationdrawer.views.DuoDrawerLayout>

3. 为drawer添加menu view

通过app:menu 属性为drawer添加menu view。

<nl.psdcompany.duonavigationdrawer.views.DuoDrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    app:menu="@layout/menu"
    ... />

或者drawer内部添加一个tag="menu"的view来添加菜单

<nl.psdcompany.duonavigationdrawer.views.DuoDrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    ... >
    
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:tag="menu"
        ... />
</nl.psdcompany.duonavigationdrawer.views.DuoDrawerLayout>

4. Initialize the drawer view

DuoNavigationDrawer的API和 Android design library 中的DrawerLayout几乎完全一样。DuoDrawerToggle同样如此,它是在ActionBarDrawerToggle基础上修改的,以支持DuoDrawerLayout。

DuoDrawerLayout drawerLayout = (DuoDrawerLayout) findViewById(R.id.drawer);
DuoDrawerToggle drawerToggle = new DuoDrawerToggle(this, drawerLayout, toolbar,
        R.string.navigation_drawer_open,
        R.string.navigation_drawer_close);
drawerLayout.setDrawerListener(drawerToggle);
drawerToggle.syncState();
已下载
0