【Android - V】之DrawerLayout的使用

DrawerLayout是Android V4包中的一个布局控件,用来实现一个抽屉样式的布局。

DrawerLayout通过设置子视图的layout_gravity来决定子视图停靠在屏幕的哪个边缘外侧,等待用户将它拖进来或点击按钮拉开抽屉。

下面是一个简单的DrawerLayout的布局文件中的代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/colorPrimary"
        android:minHeight="?attr/actionBarSize" />

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

        <ImageView
            android:id="@+id/bg"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:contentDescription="@string/app_name"
            android:scaleType="centerCrop"
            android:src="@mipmap/bg4" />

        <!-- android:layout_gravity:设置抽屉布局所在的位置,start或left左侧,end或right右侧 -->
        <ListView
            android:id="@+id/drawer_list"
            android:layout_width="256.0dip"
            android:layout_height="match_parent"
            android:layout_gravity="start"
            android:background="@color/colorPrimary"
            android:choiceMode="singleChoice"
            android:divider="#00000000" />
    </android.support.v4.widget.DrawerLayout>
</LinearLayout>

在代码中,我们为ListView设置了layout_gravity属性为start,表示我们将ListView添加到抽屉中,并隐藏在屏幕的左边。如果我们将手指按在屏幕左边缘向右拖拽,可以将抽屉拖出来。

我们可以通过DrawerLayout对象的openDrawer()和closeDrawer()方法来打开或关闭抽屉。

接下来我们来介绍一下DrawerLayout和Toolbar结合使用的方法。

先看一下运行效果:

      

可以看到,在Toolbar的最左侧有一个按钮,可以跟随点击通过动画变化样子,然后可以拉开抽屉。这个按钮是一个叫做ActionBarDrawerToggle的对象,通过给抽屉绑定这个对象,可以从Toolbar中拉开抽屉。具体的代码如下:

        // 初始化Toolbar
        setSupportActionBar(toolbar);
        // 点击可以弹出抽屉的按钮
        ActionBarDrawerToggle drawerToggle = new ActionBarDrawerToggle(MainActivity.this, drawer,
                toolbar, R.string.drawer_open, R.string.drawer_close);
        drawerToggle.syncState();
        drawer.addDrawerListener(drawerToggle);

ListView数据适配、ListView中Item的点击事件不再赘述。

以上就是对DrawerLayout的基础用法的介绍,下面贴出码云上的源码,供大家参考。

DEMO地址

时间: 2024-10-12 17:22:55

【Android - V】之DrawerLayout的使用的相关文章

Android组件——使用DrawerLayout仿网易新闻v4.4侧滑菜单

转载请注明出处:http://blog.csdn.net/allen315410/article/details/42914501 概述 今天这篇博客将记录一些关于DrawerLayout的基本用法,我想关于DrawerLayout的用法也许有不少不够了解,这也是比较正常的事情,因为DrawerLayout作为Android组件是Google后来在android中添加的,在android.support.v4包下.那么,DrawerLayout是一个怎么的组件呢?我们知道,当我们使用Androi

Android组件——创建DrawerLayout导航

转载请注明出处:http://blog.csdn.net/allen315410/article/details/42875231 概述 本篇博客是对developer.android.com/上的Training课程的简单翻译,若是觉得翻译出来的理解有困难,请点击下方链接查看原文! 关于DrawerLayout的Training:http://developer.android.com/training/implementing-navigation/nav-drawer.html 关于Dra

Android侧滑菜单DrawerLayout(抽屉布局)实现

应用场景: 由于侧滑菜单有更好的用户体验效果,所以更多的App使用侧滑抽屉式菜单列表,如网易客户端.百度影音.爱奇艺等等.至此,侧滑菜单有了更多的使用需求. 知识点介绍: 实现侧滑菜单功能的方法有很多,如果开源的项目SlidingMenu,下载地址为https://github.com/jfeinstein10/SlidingMenu.该开源项目依赖于另一个开源项目ActionBarSherlock,下载地址为https://github.com/JakeWharton/ActionBarShe

android自带DrawerLayout滑动菜单的使用

受到slidingMenu的启发android增加了DrawerLayout来实现滑动菜单 DrawerLayout是继承自ViewGroup,可以在其中放子view.DrawerLayout中分为主内容区和菜单区域 使用方法如下 1.和普通的LinearLayout一样 <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" androi

Android侧滑菜单DrawerLayout的使用

现在侧滑菜单使用很多,大都是通过SlidingMenu实现.现在也可以通过DrawerLayout 创建抽屉布局 frament_content.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="

android组件之DrawerLayout(抽屉导航)-- 侧滑菜单效果

转载请注明出处:http://blog.csdn.net/crazy1235/article/details/41696291 一. 介绍 导航抽屉显示在屏幕的最左侧,默认情况下是隐藏的,当用户用手指从边缘向另一个滑动的时候,会出现一个隐藏的面板,当点击面板外部或者向原来的方向滑动的时候,抽屉导航就会消失了! 好了,这个抽屉就是DrawerLayout,该类位于V4包中. android.support.v4.widget.DrawerLayout. 二. 使用 抽屉导航的实现步骤非常简单.只要

【Android - V】之Toolbar的使用

Toolbar是Android V7包中的一个控件,用来代替Action Bar作为界面的头部标题栏布局.Toolbar相对于Action Bar的特点是更加灵活,可以显示在任何位置. 首先先来看Toolbar在布局文件中的代码怎么写,实际上跟其他Android原生控件一样,只需要设置宽高.背景等属性就可以了,如果有其他需求还可以设置theme等主题属性. 下面是一个Toolbar在布局文件中的代码: <RelativeLayout xmlns:android="http://schema

android ToolBar与DrawerLayout笔记

通过Android Studio 生成的Nagvition DrawerLayout Activity 自带的布局中的NagvitionView会覆盖ToolBar直接通到statusBar. 但是自己想把NagvationView控制到TooBar下边,从网上找到的答案是把ToolBar从CoordinatorLayout里边移出来,然后 主布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearL

Android抽屉菜单DrawerLayout的实现案例

(1)项目布局文件 activity_main.xml <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="