解决Android抽屉被击穿问题
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抽屉被击穿问题的更多相关文章
- wemall doraemon中Android app商城系统解决左侧抽屉菜单和viewpager不能兼容问题
完美解决左侧抽屉菜单和viewpager不能兼容左右滑动的问题,可进行参考. WeMall-Client/res/layout/wemall_main_ui.xml </RadioGroup&g ...
- Android权限管理之RxPermission解决Android 6.0 适配问题
前言: 上篇重点学习了Android 6.0的运行时权限,今天还是围绕着Android 6.0权限适配来总结学习,这里主要介绍一下我们公司解决Android 6.0权限适配的方案:RxJava+RxP ...
- 解决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 ...
- 解决Android Graphical Layout 界面效果不显示
解决Android Graphical Layout 界面效果不显示 qq463431476
- 不完全解决Android微信HTML5 播放视频的问题(不显示控制条,可交互)
首先你需要知道以下内容: http://ad.weixin.qq.com/learn/2-3-3--%E9%80%9A%E7%94%A8%E5%BA%93 这是微信为广告商开放的API,我一直认为只有 ...
- 解决Android SDK Manager更新、下载速度慢
hosts文件里面原来的内容不做修改,只是添加内容 方法/步骤 先看看如何加快更新速度,再说如何更新. 首先更新host文件,如图,打开目录 C:\Windows\System32\drivers\e ...
- Android 抽屉效果的导航菜单实现
Android 抽屉效果的导航菜单实现 抽屉效果的导航菜单 看了很多应用,觉得这种侧滑的抽屉效果的菜单很好. 不用切换到另一个页面,也不用去按菜单的硬件按钮,直接在界面上一个按钮点击,菜单就滑出来,而 ...
- 解决Android Studio 和 Android SDK Manager 无法在线更新的问题.
升级时提示 Connection failed. Please check your network connection and try again 修改安装目录下bin\studio.exe.vm ...
- android抽屉总结
android抽屉:1.DrawerLayout 在xml文件中要注意写全称:android.support.v4.widget.DrawerLayout <LinearLayout /> ...
随机推荐
- addChildViewController相关api深入剖析
注:本文根据个人的实践和理解写成,若有不当之处欢迎斧正和探讨! addChildViewController是一个从iOS5开始支持的api接口,相关的一系列的接口是用来处理viewcontrolle ...
- SQL 编辑
局部变量: DECLARE @variable_name Datatype Variable_naem为局部变量的名称,Datatype为数据名称. 例如: DECLARE @name varchar ...
- Bulk Insert & BCP执行效率对比
我们以BCP导出的CSV数据文件,分别使用Bulk insert与BCP导入数据库,对比两种方法执行效率 备注:导入目标表创建了分区聚集索引 1.BCP导出csv数据文件 数据量:15000000行, ...
- PHP---关联模型
MANY_TO_MANY
- Cocos2d-JS工程中的文件结构
res文件夹存放资源文件 src文件夹是主要的程序代码 app.js是实现游戏场景的JavaScript文件 resource.js在src文件夹中,定义资源对应的变量 config.json保存模拟 ...
- pch找不到pod里头文件
1. 问题描述 将文件用pod管理起来后,pod install成功,而且这些文件也可以搜索得到,但是pch文件里import的头文件找不到,而这些头文件又确确实实在你的pod项目下. 2. 解决办法 ...
- [LeetCode]题解(python):047-Permutations II
题目来源 https://leetcode.com/problems/permutations-ii/ Given a collection of numbers that might contain ...
- iOS Block传值
上个月,针对block恶补了一下,以为自己全部掌握了,其实不尽然. 昨天项目中在下载的时候用到,自己竟然不知道该从何下手,惭愧~ 情景是这个样子的:我写了个下载类,阴老师在调用时,将参数(sid,UR ...
- JS-004-判断元素显示状态
在日常的 web 编程或 UI自动化脚本编写过程中,经常会遇到判断页面元素的显示状态,以对应的执行相应的操作.此文主要以 js 判断页面元素的存在状态为例,简单叙述一下 js 是如何判断元素的显示状态 ...
- 详解Spring事件驱动模型
转载自:http://jinnianshilongnian.iteye.com/blog/1902886#comments 事件驱动模型简介 事件驱动模型也就是我们常说的观察者,或者发布-订阅模型:理 ...