DrawerLayout的使用
来源:互联网 发布:稳定性最好的单片机 编辑:程序博客网 时间:2024/06/18 00:17
这篇讲解DrawerLayout的使用,主要是对布局的设置,侧滑菜单栏的打开和关闭的监听进行操作的,下面是运行程序的截图
从运行效果来看,中间是一个TextView,我看很多讲解在那里都喜欢放Fragment,但是我比较懒。。。。。。
左边是从侧滑出来的ListView布局
布局截图
图片上的几个点都被标明了
比较重点的是:
1.android:layout_gravity=”start”
这个属性代表着是从左侧拉出菜单还是右侧(end)
2.DrawerLayout布局下第一个子View为中间区域的布局,后面的子View分别为左滑菜单或者右滑菜单
在Activity中操作布局
省略ToolBar的解释,具体操作可以看
http://blog.csdn.net/github_36731706/article/details/72874437
toolbar = (Toolbar) findViewById(R.id.main_toll_bar); title= (String) getTitle(); toolbar.setTitle(title); // toolbar.setSubtitle("我是子标题"); //设置导航栏 toolbar.setNavigationIcon(R.drawable.menu);
toolBar菜单图标的点击事件
//菜单被点击之后 toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { if (drawer_layout.isDrawerOpen(Gravity.START)){ toolbar.setNavigationIcon(R.drawable.back); }else { toolbar.setNavigationIcon(R.drawable.menu); } return false; } });
侧滑菜单中ListView的内容填充
private String [] str=new String[]{"条目一","条目二","条目三","条目四"};
left_list= (ListView) findViewById(R.id.main_left_lv); left_list.setAdapter(new ArrayAdapter<String>(this, //一个根布局为TextView的布局 R.layout.drawer_layout_item, str )); //左边菜单被点击的时候,菜单就被收回 left_list.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Toast.makeText(MainActivity.this,str[position],Toast.LENGTH_LONG).show(); //关闭左侧策划菜单 drawer_layout.closeDrawer(left_list); title=str[position]; } });
最后就是对DrawerLayout的实例化和监听事件了
//实例化布局 drawer_layout = (DrawerLayout) findViewById(R.id.main_drawer_layout);
在对侧滑菜单的打开和关闭,从运行效果来看,侧滑打开时,tooBar的图标为返回图标,关闭时图标为菜单图标,并获取点击条目的内容显示在标题上,这里用的是
drawer_layout.addDrawerListener(drawerToggle);
对打开和关闭的监听。参数传入ActionBarDrawerToggle类。
下面是对ActionBarDrawerToggle的详解,怎么使用ActionBarDrawerToggle
//滑动时图标的转换(当前,DrawerLayout布局对象,toolbar控件对象,打开和关闭的内容),最后两个参数用处不是很大,简单设置一下<string name="draw_open">Drawer Open</string> <string name="draw_close">Drawer Close</string> drawerToggle = new ActionBarDrawerToggle(this, drawer_layout, toolbar, R.string.draw_open, R.string.draw_close ) { @Override public void onDrawerOpened(View drawerView) { super.onDrawerOpened(drawerView); toolbar.setTitle(title); toolbar.setNavigationIcon(R.drawable.back); } @Override public void onDrawerClosed(View drawerView) { super.onDrawerClosed(drawerView); toolbar.setTitle(title); toolbar.setNavigationIcon(R.drawable.menu); } };
通过上面的操作在代码块中就可以实现对侧滑菜单的开启监听和关闭监听
我实现的效果还是比较简单的,下面是工程的源码:
https://github.com/XuDaHaoRen/DrawerLayoutDemo
- DrawerLayout的基本使用
- Android - DrawerLayout的使用
- DrawerLayout的基本使用
- DrawerLayout控件的使用
- Android DrawerLayout的使用
- DrawerLayout的使用例子
- DrawerLayout的使用
- DrawerLayout的使用
- DrawerLayout的使用
- Android DrawerLayout的使用
- DrawerLayout的基本使用
- drawerlayout的使用
- DrawerLayout的使用
- DrawerLayout 的详细使用
- Android DrawerLayout的使用
- DrawerLayout的简单使用
- Drawerlayout的简单使用
- DrawerLayout的使用
- 读书笔记--机器学习第一章
- 数独的简单实现
- 读书笔记--机器学习第二章
- ShareSDK入门指南:Android 10分钟快速集成
- overflow滚动条消失小技巧
- DrawerLayout的使用
- c++设计模式—装饰者模式
- List Comparator排序
- linux进程描述符、地址空间、文件共享和C语言FILE结构体成员
- JavaScript
- Android Studio下的JNI使用全解析(一)
- java多线程学习之volatile
- bg、fg、&、vim 中:! 的使用-终端中简单的任务调度
- php获取函数参数,获取类里面的方法名