如何添加向左滑动并在图片上点击抽屉 Android

how to add swipe left and on image click drawer Android

我想在我的应用程序中添加抽屉,就像我在这张照片中画的一样。

有什么简单的方法吗?

我没有使用 material UI。从空活动开始

有什么办法吗?

检查图片

illustration of Drawer

您可以使用 v4 支持库中的 DrawerLayout。首先,将以下依赖项添加到 gradle 文件中:

compile 'com.android.support:support-v4:23.1.1' 

然后,在 activity 中,您希望有抽屉,将根视图替换为 android.support.v4.widget.DrawerLayout。根应该包含子视图,第一个是主视图 Activity,第二个子视图是导航抽屉。

<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- Main Activity Content -->
    <LinearLayout
        android:id="@+id/main_content"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <!-- The navigation drawer -->
    <ListView
        android:id="@+id/drawer"
        android:layout_width="240dp" 
        android:layout_height="match_parent" />

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

现在,假设您了解如何设置 ListViews,您应该能够设置 ListView 并滑动打开。

要添加打开图标,你必须在你的activity中设置一个ActionBarDrawerToggle,这样做看起来像这样(记得使用支持库ActionBarDrawerToggle:

DrawerLayout layout = (DrawerLayout) findViewById(R.id.drawer_layout);

ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, layout, "Open Drawer", "Close Drawer") {
    public void onDrawerClosed(View view) {
        super.onDrawerClosed(view);
    }

    public void onDrawerOpened(View drawerView) {
        super.onDrawerOpened(drawerView);
    }
}

// Set the toggle.
layout.setDrawerListener(toggle);

然后在你的 onOptionsItemSelected:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
     if (toggle.onOptionsItemSelected(item)) {
         return true;
     }
}

现在图标应该打开抽屉了。

Android 文档提供了一个很棒的教程以获取更多信息:http://developer.android.com/training/implementing-navigation/nav-drawer.html