ActionBarDrawerToggle是一个开关。用于打开/关闭DrawerLayout抽屉

ActionBarDrawerToggle 提供了一个方便的方式来配合DrawerLayout和ActionBar。以实现推荐的抽屉功能。

即点击ActionBar的homebutton,就可以弹出DrawerLayout抽屉。

在Activity中的两个回调函数中使用它:

onConfigurationChanged
   onOptionsItemSelected

调用ActionBarDrawerToggle.syncState() 在Activity的onPostCreate()中。指示,ActionBarDrawerToggle与DrawerLayout的状态同步,并将ActionBarDrawerToggle中的drawer图标。设置为ActionBar的Home-Button的icon

关于DrawerLayout就不多说了,请移步这里 http://blog.csdn.net/jjwwmlp456/article/details/38682637

在这个官方的样例中,已经实现了本文所要讲述的内容。

总体的效果呢,须要支持ActionBar。support-v7包的 compat中有 ActionBarActivity可继承, 3.0以后也能够用主题的方式直接使用。不多说了

几个基本的函数调用

ActionBarDrawerToggle mDrawerToggle;DrawerLayout mDrawerLayout;void init() {mDrawerLayout.setDrawerListener(new MyDrawerListener());//设置drawer的开关监听mDrawerToggle = new ActionBarDrawerToggle(activity, mDrawerLayout, R.drawable.ic_drawer, R.string.drawer_open, R.string.drawer_close);}/** activity创建完毕后 */@Overrideprotected void onPostCreate(Bundle savedInstanceState) {super.onPostCreate(savedInstanceState);mDrawerToggle.syncState();//该方法会自己主动和actionBar关联, 将开关的图片显示在了action上。假设不设置,也能够有抽屉的效果,只是是默认的图标}/** 菜单键点击的事件处理 */@Overridepublic boolean onOptionsItemSelected(MenuItem item) {return mDrawerToggle.onOptionsItemSelected(item) || super.onOptionsItemSelected(item);}/** 设备配置改变时 */@Overridepublic void onConfigurationChanged(Configuration newConfig) {super.onConfigurationChanged(newConfig);mDrawerToggle.onConfigurationChanged(newConfig);}/** drawer的监听 */private class MyDrawerListener implements DrawerLayout.DrawerListener {@Overridepublic void onDrawerOpened(View drawerView) {// 打开drawermDrawerToggle.onDrawerOpened(drawerView);//开关状态改为opened}@Overridepublic void onDrawerClosed(View drawerView) {// 关闭drawermDrawerToggle.onDrawerClosed(drawerView);//开关状态改为closed}@Overridepublic void onDrawerSlide(View drawerView, float slideOffset) {// drawer滑动的回调mDrawerToggle.onDrawerSlide(drawerView, slideOffset);}@Overridepublic void onDrawerStateChanged(int newState) {// drawer状态改变的回调mDrawerToggle.onDrawerStateChanged(newState);}}

转载于:https://www.cnblogs.com/gcczhongduan/p/5130086.html

Android ActionBarDrawerToggle、DrawerLayout、ActionBar 结合相关推荐

  1. android 2个界面抽屉,Android使用DrawerLayout创建左右两个抽屉菜单

    在Android support.v4 中有一个抽屉视图控件DrawerLayout.使用这个控件,可以生成通过在屏幕上水平滑动打开或者关闭菜单,能给用户一个不错的体验效果. 最近在项目中,设计中有用 ...

  2. Android AppCompatActivity的ActionBar之SearchView、ShareActionProvider以及menu

     Android AppCompatActivity的ActionBar之SearchView.ShareActionProvider以及menu Android早期推出的ActionBarAct ...

  3. Android 顶部标题栏ActionBar详解

    转载自http://www.cnblogs.com/yc-755909659/p/4290784.html 一.ActionBar介绍 在Android 3.0中除了我们重点讲解的Fragment外, ...

  4. android drawerlayout侧滑菜单,Android中drawerlayout侧滑菜单效果的实现

    众所周知,Android中drawerlayout侧滑菜单是一个很常见的功能,而我们大多数人都是使用slidengmenu作为一个开源框架,下面爱站技术频道小编给大家介绍Android中drawerl ...

  5. Android开发之ActionBar结合Fragment的导航功能的使用(源代码分享)

    标签在操作栏方便用户去探索,在你的应用程序在不同视图之间切换.ActionBar提供的标签是最理想的选择,因为他们适应不同的屏幕尺寸.一旦你确定了Fragment出现在布局里,添加标签的步骤如下:一: ...

  6. (Android Studio)ActionBar's Theme/Style [ActionBar主题风格修改]

    (1)默认theme代码如下: 运行结果: 视觉效果:ActionBar为Dark,背景为Light. (2)将theme改为Light: 运行结果: 视觉效果:ActionBar和背景都为Light ...

  7. android 官方DrawerLayout的介绍和使用

    南尘:爱编程,爱安卓,每天进步一点点. drawerLayout是Support Library包中实现了侧滑菜单效果的控件,可以说drawerLayout是因为第三方控件如MenuDrawer等的出 ...

  8. Android控件ActionBar浅析及适配2.x的方法介绍

    概述: 在Honeycomb版本系统中,Android引入了全新的操作栏.操作栏不仅取代了显示标题和应用图标的传统标题栏(title bar),还带来了更多其他的功能,例如,安置菜单选项.配置应用图标 ...

  9. Android之自定义 ActionBar 上的菜单(Menu)文字颜色

    本文记录了修改 ActionBar 上 Menu 字体颜色的方法.第一种通过自定义主题实现,第二种通过复写onCreateOptionsMenu实现. 自定义Theme 修改MenuItem 文字颜色 ...

最新文章

  1. 转: 如何实现jQuery的Ajax文件上传
  2. mybatis 配置文件中set丢失逗号
  3. Distinct Subsequences
  4. Docker入门(一) - 仓库、容器、镜像、数据卷
  5. 关于Java中final关键字的详细介绍
  6. 【Python基础】Jupyter Notebook最常用的五大配置技巧
  7. js中setTimeout的用法和JS计时器setTimeout与setInterval方法的区别和confirm方法
  8. JavaOne 2016 Essentials:7个您不容错过的事件和会话
  9. python安装pip_在MAC下安装pip,并关联到相应的python版本
  10. java8新特性(2)--- 方法引用
  11. 【编译】StreamInsight简介
  12. php再次确认密码,Laravel6.2中用于用户登录的新密码确认流程详解
  13. php中三元运算符用法
  14. ffmpeg转码器移植VC的工程:ffmpeg for MFC
  15. My SQL中show命令--MySQL中帮助查看
  16. 结构体做函数参数的进阶:嵌套一二级指针
  17. 在阿帕奇服务器布置文件,Apache文件列表服务器美化 index of /
  18. 无线局域网中RADIUS协议原理与实现
  19. 阿里技术专家十五问,真题面试刀刀见肉,走进面试间(答案解析)
  20. 超强媒体阵容护航,第一届区块链技术及应用峰会(BTA)·中国引爆开年狂潮

热门文章

  1. JPA不同包下同类名查询出错
  2. 科大奥锐干涉法测微小量实验的数据_光学干涉观测精确丈量宇宙 | 赛先生天文...
  3. Redis 笔记(13)— scan 和 keys 寻找特定前缀key 字段(命令格式、使用示例、定位大key)
  4. 2022-2028年中国热熔胶产业竞争现状及发展规模预测报告
  5. python 中*args 和 **kwargs的区别
  6. 工作如果没有方法,光靠苦力是不行的
  7. Pytorch的LSTM的理解
  8. java锁(公平锁和非公平锁、可重入锁(又名递归锁)、自旋锁、独占锁(写)/共享锁(读)/互斥锁、读写锁)
  9. OpenArkCompiler方舟编译
  10. 网路摄像头技术参数介绍