笔记116--DrawerLayout

原创 2015年07月08日 10:45:56

一、DrawerLayout基本用法

1、这是个啥玩意

抽屉布局,手势滑动或者点击按钮,出来一个侧滑菜单。其实截图最好~就不截~

2、这玩意能干啥

可以支持左边画出菜单,或者右边画出菜单,也可以左右菜单同时存在。

3、这玩意怎么用
1)布局文件

DrawerLayout作为根布局。第一个子布局是要显示的主界面,第二个子布局是侧滑菜单,第三个自布局也是侧滑菜单(可省略)。

注意:

必须指定第二个子布局和第三个子布局的layout_gravity属性为left或right。

第二个子布局和第三个子布局不要太大,不然全屏了体现不出效果来。

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

        <!-- The main content view -->
        <!-- main content must be the first element of DrawerLayout because it will be drawn first and drawer must be on top of it -->

        <LinearLayout
            android:id="@+id/content_frame"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/tv1"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="100dp"
                android:text="@string/hello" />

            <TextView
                android:id="@+id/tv2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:autoLink="all"
                android:text="@string/web_url"
                android:textColor="#3A9FF7" />

            <Button
                android:id="@+id/btn"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="12121" />
        </LinearLayout>

        <!-- The navigation drawer -->

        <ListView
            android:layout_width="150dp"
            android:layout_height="match_parent"
            android:layout_gravity="left"
            android:background="#111"
            android:choiceMode="singleChoice"
            android:divider="@android:color/transparent"
            android:dividerHeight="0dp" />

        <LinearLayout
            android:layout_width="150dp"
            android:layout_height="match_parent"
            android:layout_gravity="right"
            android:background="#111" >

            <TextView
                android:id="@+id/tvurl"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/web_url" />
        </LinearLayout>
</android.support.v4.widget.DrawerLayout>
2)方法介绍

a. mDrawerLayout.openDrawer(Gravity.RIGHT);

打开侧滑菜单。此参数与布局文件中指定的layout_gravity必须相同。

b.mDrawerLayout.closeDrawers();

关闭所有侧滑菜单。

c.mDrawerLayout.closeDrawer(gravity);

关闭指定侧滑菜单。

d.setDrawerListener()

监听菜单的打开关闭事件。

4、历史遗留问题

之前有个SlidingDrawer,在api 17中被弃用了。

二、ActionBarDrawerToggle基本用法


蚂蚁笔记.leanote转为知笔记支持的MD文档

本人搭建的蚂蚁笔记服务器最近被黑, 怀疑是蚂蚁笔记漏洞导致. ----------------------------------------------------------------- 所...
  • love100628
  • love100628
  • 2018年01月12日 11:32
  • 150

firefox的一款记笔记的插件

网文快捕被我抛弃之后,一直很享受与firefox下的scrapbook带给我的迅速记录网页浏览记录的畅快中,但是它真正作为一款知识管理软件还是在功能的丰富性上难以满足我的要求,特别是在浏览网页时想记点...
  • daring_t
  • daring_t
  • 2010年05月30日 14:11
  • 1208

CS231n课程笔记翻译系列之目录汇总

知乎上CS231n课程翻译系列 翻译的笔记非常好,为了方便查看,这里把所有目录列于此,并给出链接。 Python Numpy教程(全篇) Python 基本数据类型 容器(列表, 字典, 集合, ...
  • NNNNNNNNNNNNY
  • NNNNNNNNNNNNY
  • 2017年01月16日 20:20
  • 9156

Java丨仿“有道云笔记”项目 取名"Program 猿笔记"

- 项目名称:Program 猿笔记 - 开发工具:MyEclipse + Tomcat + JDK 1.7 - 相关技术:Editor.md、Servlet、Freemarker、Mysql、A...
  • lihaojie1996
  • lihaojie1996
  • 2017年04月24日 15:18
  • 1231

excel笔记整理

1、excel:由微软公司生产的办公软件之一,电子制表软件,工作簿,可以用来做表格、进行数据处理等 2、打开方式: 方式一: 开始->所有程序->Microsoft office->Mi...
  • yangzai521
  • yangzai521
  • 2016年12月07日 20:51
  • 420

云笔记比较

蚂蚁笔记 可以一键发为博客,再网页上能看博客,但是博客是以日期统计的,博客多了,全是安装日期统计,不是按分类统计的。 为知笔记 收费了,60元/年。...
  • jacke121
  • jacke121
  • 2017年01月10日 18:11
  • 273

springmvc+mybatis学习笔记(汇总)

笔记内容主要是mybatis和springmvc的一些基本概念和使用方法,涉及概念介绍、环境搭建、编程细节、运行调试等方面。 这套笔记整体偏入门和应用,适合快速上手,对底层实现和机理并未做过多分析。...
  • h3243212
  • h3243212
  • 2016年03月30日 16:20
  • 12531

Evernote和有道云笔记的比较

每个人可能都有随手记录一些事情的习惯,可能是为了不忘记,也可能是随时闪现在头脑中的一些想法,因此就有了便利贴,而在计算机或者说互联网的时代,我们就有了更多选择,可以随时利用身边的工具来记录自己的零碎记...
  • lingyun2005
  • lingyun2005
  • 2013年02月06日 21:58
  • 28030

一个程序员的软件开发笔记[连载]

           总经理说要开发一个《网吧管理系统》,因为总公司的战略方针是给网吧做电脑,所以软件不也不能坐以旁观,要开发我们自己公司的《网吧管理系统》,配合公司的发展。          可是,...
  • zhaiqinjiang
  • zhaiqinjiang
  • 2006年03月10日 21:03
  • 1174

Boostnote:适合程序员的笔记软件

Boostnote:适合程序员的笔记软件注意: Boostnote正在开发中,需要鼓励和耐心等待其完善,或者加入他们一起改进 Boostnote,真心希望 Boostnote 坚持下去。1. Boos...
  • u013553529
  • u013553529
  • 2017年04月21日 00:12
  • 10377
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:笔记116--DrawerLayout
举报原因:
原因补充:

(最多只允许输入30个字)