DrawerLayout侧滑详解
<?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/drawer_main_layout" tools:context="com.example.drawerlayout.MainActivity"> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/btn_main_right" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="OpenRightMenu" android:text="打开" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" /> </RelativeLayout> <fragment android:id="@+id/id_left_menu" android:name="com.example.drawerlayout.fragment.LeftFragment" android:layout_width="200dp" android:layout_height="match_parent" android:layout_gravity="left" android:tag="Left" /> <fragment android:id="@+id/id_right_menu" android:name="com.example.drawerlayout.fragment.RightFragment" android:layout_width="200dp" android:layout_height="match_parent" android:layout_gravity="right" android:tag="RIGHT" /> </android.support.v4.widget.DrawerLayout>
看布局文件我们可以知道,左菜单和右菜单我们都是用一个fragment进行实现,具体的代码就不再写了,大家可以下载源码查看
2、看下MainActivity.java
public class MainActivity extends AppCompatActivity {private DrawerLayout mDrawerLayout; private Button mButton; @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initViews(); setListeners(); }private void initViews() {mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_main_layout); mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, Gravity.RIGHT); mButton = (Button) findViewById(R.id.btn_main_right); }private void setListeners() {mButton.setOnClickListener(new View.OnClickListener() {@Override public void onClick(View view) {mDrawerLayout.openDrawer(Gravity.RIGHT); mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED, Gravity.RIGHT); }}); mDrawerLayout.setDrawerListener(new DrawerLayout.SimpleDrawerListener() {//在这个方法里可以设置动画效果 @Override public void onDrawerSlide(View drawerView, float slideOffset) {}// 菜单打开 @Override public void onDrawerOpened(View drawerView) {}// 菜单关闭 @Override public void onDrawerClosed(View drawerView) {mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, Gravity.RIGHT); }@Override public void onDrawerStateChanged(int newState) {}}); }}
看下效果:
源代码
参考:
http://blog.csdn.net/xiaanming/article/details/18311877
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0925/1713.html
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0303/2522.html
http://wenku.baidu.com/link?url=WyWUhUROnI4F3Ne8PaHTNgmsG1APDWK4WJ1wfoHpOhNyi4rtLqCWslQQSYVF740WFO11pVuVOEBEOi1GvpOCoq9EAynbtLSO2NHAVS6kqjG
http://www.linuxidc.com/Linux/2014-08/105502.htm
DrawerLayout侧滑详解相关推荐
- Android Studio精彩案例(四)《DrawerLayout使用详解仿网易新闻客户端侧边栏 》
转载本专栏文章,请注明出处,尊重原创 .文章博客地址:道龙的博客 为了提高兴趣,咱们开头先看看最终要实现什么样的效果: 侧拉菜单在Android应用中非常常见,它的实现方式太多了,今天我们就说说使用G ...
- DrawerLayout的导航图标详解
前言 DrawerLayout是Google官方推出的一个应用于侧滑菜单的工具类,遵循Google提出的Material Design设计风格.而DrawerLayout与Toolbar之间的图标联动 ...
- Android群英传笔记——第十二章:Android5.X 新特性详解,Material Design UI的新体验
Android群英传笔记--第十二章:Android5.X 新特性详解,Material Design UI的新体验 第十一章为什么不写,因为我很早之前就已经写过了,有需要的可以去看 Android高 ...
- Android百度地图实例详解之仿摩拜单车APP(包括附近车辆、规划路径、行驶距离、行驶轨迹记录,导航等)
Android百度地图实例详解之仿摩拜单车APP(包括附近车辆.规划路径.行驶距离.行驶轨迹记录,导航等) 标签: android百度地图行驶轨迹记录共享单车行驶距离和时间 2017-03-08 20 ...
- iOS之UI--使用SWRevealViewController实现侧边菜单功能详解实例
使用SWRevealViewController实现侧边菜单功能详解 下面通过两种方法详解SWRevealViewController实现侧边菜单功能: 1.使用StoryBoard实现 2.纯代码实 ...
- 详解Xcode 6的视图调试
详解Xcode 6的视图调试 2015-04-23 10:58 编辑: suiling 分类:iOS开发 来源:CocoaChina翻译 0 14885 XCodeXcode 6视图调试 招聘信息: ...
- php中 act什么意思,剑网三act是什么意思?详解丐帮act概念
巴士招募<剑网3>写手,视频解说,游戏高手,漫画达人等等一系列的玩家!无门槛没有要求!如果你也喜欢写作,想把你的心情和游戏故事分享给大家,欢迎前来投稿!一经采用即有众多丰厚奖励作为感谢!如 ...
- 汽车知识入门篇之汽车参数详解
许多消费者在购车之前都会先关注车型的口碑,这是很实用的方法.不过读懂参数可能更方便找到满足自身需求的车型. 一.汽车的主要结构参数和性能参数 汽车的主要特征和技术特性随所装用的发动机类型和特性的不同, ...
- Android 官方架构组件 Navigation 使用详解
前言 前段时间,我在做项目开发的时候对Fragment的管理遇到几个小问题,总觉得在现阶段封装好的Fragment管理器不太优雅.这成为我下决心学习Jetpack在很早之前推出的Navigation库 ...
最新文章
- android录制视频横向,Android从零开始(26)(设置全屏+横屏、相机拍照、视频录制)(新)...
- 遗传算法求解背包问题
- 【LeetCode】剑指 Offer 16. 数值的整数次方
- 送你一份后端必备的 Git 分支开发规范指南
- easyui table 如何只展示一条_如何使用MySQL,这些操作你得明白!
- C++线程中packaged_tack
- html三级链表,二叉链表怎么画
- java基本数据类型转类对象
- 【滤波器】7. 带通滤波器
- 单独开一贴个人认为是编译器缺陷希望有人提交给微软
- html仿苹果桌面导航js css,JS+CSS仿苹果手机(Iphone)的滑动效果的焦点图
- 单片机的俄罗斯方块游戏设计
- TTL 传输中过期,内部网络环路
- vue-qq 实践(一)
- 卸载32位office安装64位office卸载不完全导致不能安装64位office时解决办法
- matlab p文件转码 matlab pcode文件 将matlab中的p文件转为m文件工具
- Hadoop分布式集群配置
- android 设置视频大小,android – 调整视频大小
- 古巴比伦理财五大金科定律
- l003 Driller Augmenting Fuzzing Through Selective Symbolic Execution_2016_NDSS学习笔记
热门文章
- ASP.NET Core 2.1 : 十五.图解路由(2.1 or earler)
- kafka之Producer同步与异步消息发送及事务幂等性案例应用实战
- SecureCRT通过密钥进行SSH登录
- swift的基础语法(二)
- 如何附加被分离的质疑数据库?
- 非程序员如何使用 Git——版本控制你的生活
- LeetCode——Contains Duplicate III
- make_ext4fs 失败
- C#+WebSocket+WebRTC多人语音视频系统
- Objective-C KVC