Android ActionBarDrawerToggle、DrawerLayout、ActionBar 结合
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 结合相关推荐
- android 2个界面抽屉,Android使用DrawerLayout创建左右两个抽屉菜单
在Android support.v4 中有一个抽屉视图控件DrawerLayout.使用这个控件,可以生成通过在屏幕上水平滑动打开或者关闭菜单,能给用户一个不错的体验效果. 最近在项目中,设计中有用 ...
- Android AppCompatActivity的ActionBar之SearchView、ShareActionProvider以及menu
Android AppCompatActivity的ActionBar之SearchView.ShareActionProvider以及menu Android早期推出的ActionBarAct ...
- Android 顶部标题栏ActionBar详解
转载自http://www.cnblogs.com/yc-755909659/p/4290784.html 一.ActionBar介绍 在Android 3.0中除了我们重点讲解的Fragment外, ...
- android drawerlayout侧滑菜单,Android中drawerlayout侧滑菜单效果的实现
众所周知,Android中drawerlayout侧滑菜单是一个很常见的功能,而我们大多数人都是使用slidengmenu作为一个开源框架,下面爱站技术频道小编给大家介绍Android中drawerl ...
- Android开发之ActionBar结合Fragment的导航功能的使用(源代码分享)
标签在操作栏方便用户去探索,在你的应用程序在不同视图之间切换.ActionBar提供的标签是最理想的选择,因为他们适应不同的屏幕尺寸.一旦你确定了Fragment出现在布局里,添加标签的步骤如下:一: ...
- (Android Studio)ActionBar's Theme/Style [ActionBar主题风格修改]
(1)默认theme代码如下: 运行结果: 视觉效果:ActionBar为Dark,背景为Light. (2)将theme改为Light: 运行结果: 视觉效果:ActionBar和背景都为Light ...
- android 官方DrawerLayout的介绍和使用
南尘:爱编程,爱安卓,每天进步一点点. drawerLayout是Support Library包中实现了侧滑菜单效果的控件,可以说drawerLayout是因为第三方控件如MenuDrawer等的出 ...
- Android控件ActionBar浅析及适配2.x的方法介绍
概述: 在Honeycomb版本系统中,Android引入了全新的操作栏.操作栏不仅取代了显示标题和应用图标的传统标题栏(title bar),还带来了更多其他的功能,例如,安置菜单选项.配置应用图标 ...
- Android之自定义 ActionBar 上的菜单(Menu)文字颜色
本文记录了修改 ActionBar 上 Menu 字体颜色的方法.第一种通过自定义主题实现,第二种通过复写onCreateOptionsMenu实现. 自定义Theme 修改MenuItem 文字颜色 ...
最新文章
- 转: 如何实现jQuery的Ajax文件上传
- mybatis 配置文件中set丢失逗号
- Distinct Subsequences
- Docker入门(一) - 仓库、容器、镜像、数据卷
- 关于Java中final关键字的详细介绍
- 【Python基础】Jupyter Notebook最常用的五大配置技巧
- js中setTimeout的用法和JS计时器setTimeout与setInterval方法的区别和confirm方法
- JavaOne 2016 Essentials:7个您不容错过的事件和会话
- python安装pip_在MAC下安装pip,并关联到相应的python版本
- java8新特性(2)--- 方法引用
- 【编译】StreamInsight简介
- php再次确认密码,Laravel6.2中用于用户登录的新密码确认流程详解
- php中三元运算符用法
- ffmpeg转码器移植VC的工程:ffmpeg for MFC
- My SQL中show命令--MySQL中帮助查看
- 结构体做函数参数的进阶:嵌套一二级指针
- 在阿帕奇服务器布置文件,Apache文件列表服务器美化 index of /
- 无线局域网中RADIUS协议原理与实现
- 阿里技术专家十五问,真题面试刀刀见肉,走进面试间(答案解析)
- 超强媒体阵容护航,第一届区块链技术及应用峰会(BTA)·中国引爆开年狂潮
热门文章
- JPA不同包下同类名查询出错
- 科大奥锐干涉法测微小量实验的数据_光学干涉观测精确丈量宇宙 | 赛先生天文...
- Redis 笔记(13)— scan 和 keys 寻找特定前缀key 字段(命令格式、使用示例、定位大key)
- 2022-2028年中国热熔胶产业竞争现状及发展规模预测报告
- python 中*args 和 **kwargs的区别
- 工作如果没有方法,光靠苦力是不行的
- Pytorch的LSTM的理解
- java锁(公平锁和非公平锁、可重入锁(又名递归锁)、自旋锁、独占锁(写)/共享锁(读)/互斥锁、读写锁)
- OpenArkCompiler方舟编译
- 网路摄像头技术参数介绍