1,创建一个抽屉DrawerLayout,在V4包下android.support.v4.widget.DrawerLayout,在要设置抽屉的布局中设置android:layout_gravity="right|left"属性,看效果:

2,在主Activity中

Step1:找到DrawerLayout控件

  //找到DrawerLayout的控件
dl_drawerlayout_second = (DrawerLayout) findViewById(R.id.dl_drawerlayout_second);

Step2:对DrawerLayout控件进行监听,且设置一个成员变量boolean类型的flag标记,用于记录抽屉的开关,这里要提一下,用代码打开抽屉的方法是dl_drawerlayout_second.openDrawer(Gravity.RIGHT);里面的参数是根据你抽屉的位置,代码如下:

//设置监听DrawerLayout
dl_drawerlayout_second.setDrawerListener(new DrawerListener() { @Override
public void onDrawerStateChanged(int arg0) {
// TODO Auto-generated method stub } @Override
public void onDrawerSlide(View arg0, float arg1) {
// TODO Auto-generated method stub } @Override
public void onDrawerOpened(View arg0) {
// TODO Auto-generated method stub
flag = true;
} @Override
public void onDrawerClosed(View arg0) {
// TODO Auto-generated method stub
flag = false;
}
});

     Step3:当你打开抽屉后,在抽屉下面展示的组件中设置点击触摸事件

 //设置手势问题
lv_second_listView_content.setOnTouchListener(new OnTouchListener() { @Override
public boolean onTouch(View v, MotionEvent event) { //进行判断
if (SecondActivity.instance.getFlag()) {
//表示抽屉被打开
event.setAction(MotionEvent.ACTION_CANCEL); //将所有分发的事件对象都取消掉
} return false;
}
});

    Step4,还有一种简单的思想就是在布局文件中将我们的DrawerLayout添加一个点击事件,但对这个点击事件不做处理,这样就不会产生抽屉被击穿的效果了(推荐使用上面介绍的这种方式,这样逻辑性更强)。

解决Android抽屉被击穿问题的更多相关文章

  1. wemall doraemon中Android app商城系统解决左侧抽屉菜单和viewpager不能兼容问题

    完美解决左侧抽屉菜单和viewpager不能兼容左右滑动的问题,可进行参考. WeMall-Client/res/layout/wemall_main_ui.xml </RadioGroup&g ...

  2. Android权限管理之RxPermission解决Android 6.0 适配问题

    前言: 上篇重点学习了Android 6.0的运行时权限,今天还是围绕着Android 6.0权限适配来总结学习,这里主要介绍一下我们公司解决Android 6.0权限适配的方案:RxJava+RxP ...

  3. 解决Android中No resource found that matches android:TextAppearance.Material.Widget.Button.Inverse问题

    解决Android中No resource found that matches android:TextAppearance.Material.Widget.Button.Inverse问题http ...

  4. 解决Android Graphical Layout 界面效果不显示

    解决Android Graphical Layout 界面效果不显示 qq463431476

  5. 不完全解决Android微信HTML5 播放视频的问题(不显示控制条,可交互)

    首先你需要知道以下内容: http://ad.weixin.qq.com/learn/2-3-3--%E9%80%9A%E7%94%A8%E5%BA%93 这是微信为广告商开放的API,我一直认为只有 ...

  6. 解决Android SDK Manager更新、下载速度慢

    hosts文件里面原来的内容不做修改,只是添加内容 方法/步骤 先看看如何加快更新速度,再说如何更新. 首先更新host文件,如图,打开目录 C:\Windows\System32\drivers\e ...

  7. Android 抽屉效果的导航菜单实现

    Android 抽屉效果的导航菜单实现 抽屉效果的导航菜单 看了很多应用,觉得这种侧滑的抽屉效果的菜单很好. 不用切换到另一个页面,也不用去按菜单的硬件按钮,直接在界面上一个按钮点击,菜单就滑出来,而 ...

  8. 解决Android Studio 和 Android SDK Manager 无法在线更新的问题.

    升级时提示 Connection failed. Please check your network connection and try again 修改安装目录下bin\studio.exe.vm ...

  9. android抽屉总结

    android抽屉:1.DrawerLayout 在xml文件中要注意写全称:android.support.v4.widget.DrawerLayout <LinearLayout /> ...

随机推荐

  1. C# Json时间类型的转换

    DateTime dt1 = new DateTime(1970, 1, 1); dt1 = dt1.AddMilliseconds(long.Parse(list.Items[i].UpdatedA ...

  2. 防止sql注入,过滤敏感关键字

    //sql过滤关键字 public static bool CheckKeyWord(string sWord) { //过滤关键字 string StrKeyWord = @"select ...

  3. VS下如何调试多线程

    四步即可 1.打开多线程窗口,找到当前线程 此时,出现窗口如下: 2.右击任意位置,选中全部线程 3.停止全部线程 此时,线程状态如下: 4.单独启动当前线程:先单击当前线程,在点击启动按钮,如下红色 ...

  4. 【Java 基础篇】【第九课】继承

    继承就是为了提高代码的复用率. 利用继承,我们可以避免代码的重复.让Woman类继承自Human类,Woman类就自动拥有了Human类中所有public成员的功能.我们用extends关键字表示继承 ...

  5. js实现表格信息的删除和添加

    制作一个表格,显示班级的学生信息. 要求: 1. 鼠标移到不同行上时背景色改为色值为 #f2f2f2,移开鼠标时则恢复为原背景色 #fff 2. 点击添加按钮,能动态在最后添加一行 3. 点击删除按钮 ...

  6. (leetcode)Add Digits

    Given a non-negative integer num, repeatedly add all its digits until the result has only one digit. ...

  7. 根据IP查主机名和MAC地址

    根据IP查主机名: nbtstat -a XXX.XXX.XXX.XXX根据IP查MAC地址: arp -a XXX.XXX.XXX.XXXXXX.XXX.XXX.XXX指代要查的主机的IP

  8. jQuery层次选择器

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  9. Java学习-036-JavaWeb_005 -- JSP 动作标识 - forward

    JSP 动作主要作用是根据指定的动作进行相应的处理. 一.param 动作 用来给 HTML 文件和 JSP 文件传递参数的,经常和 forward.include.plugin 动作结合使用,语法格 ...

  10. 人脸pts文件检查及人脸框输出

    function output() outtxt = fopen('D:\AR database\kz.txt','wt'); : imgpath= strcat('D:\AR database\kz ...