Android项目----dispathTouchEvent
说到dispathTouchEvent,就不得不说一个最贱的屏幕触摸动作触发的一些列Touch事件:
ACTION_DOWN->ACTION_MOVE->ACTION_MOVE->ACTION_MOVE...->ACTION_MOVE->ACTION_UP
在Android系统中每个View的额子类都有三个和TouchEvent处理相关的方法
1)public boolean dispatchTouchEvent(MotionEvent ev) 这个方法用来分发TouchEvent
2)public boolean onInterceptTouchEvent(MotionEvent ev) 这个方法用来拦截TouchEvent
3)public boolean onTouchEvent(MotionEvent ev) 这个方法用来处理TouchEvent
如果要控制一个面板在触发屏幕的时候显示,就只需要绑定一个控件去控制就可以了。
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
showRightPanel();
return super.dispatchTouchEvent(ev);
}
/**
* 显示右边面板
*/
public void showRightPanel(){
if (!mShowing) {//如果此时面板没有显示,就让他显示出来
rightPanel.setVisibility(View.VISIBLE);
mShowing = true;
}
Message msg = handler.obtainMessage(contants.FADE_OUT);
handler.removeMessages(contants.FADE_OUT);
handler.sendMessageDelayed(msg,contants.DEFAULTTIMEOUT);
}
/**
* 隐藏右侧面板
*/
public void hideRightPanel(){
if (mShowing) {
handler.removeMessages();
rightPanel.setVisibility(View.GONE);
mShowing = false;
}
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
showRightPanel();
return super.dispatchTouchEvent(ev);
}
/**
* 显示右边面板
*/
public void showRightPanel(){
if (!mShowing) {//如果此时面板没有显示,就让他显示出来
rightPanel.setVisibility(View.VISIBLE);
mShowing = true;
}
Message msg = handler.obtainMessage(contants.FADE_OUT);
handler.removeMessages(contants.FADE_OUT);
handler.sendMessageDelayed(msg,contants.DEFAULTTIMEOUT);
}
/**
* 隐藏右侧面板
*/
public void hideRightPanel(){
if (mShowing) {
handler.removeMessages();
rightPanel.setVisibility(View.GONE);
mShowing = false;
}
}
Handler handler = new Handler(){
public void handleMessage(Message msg) {
switch (msg.what) {
case contants.FADE_OUT:
hideRightPanel();
break;
case contants.SHOW_PROGRESS:
if (mShowing) {
msg = obtainMessage(contants.SHOW_PROGRESS);
sendMessageDelayed(msg,);
}
break;
}
super.handleMessage(msg);
}
};
Android项目----dispathTouchEvent的更多相关文章
- Android——eclipse下运行android项目报错 Conversion to Dalvik format failed with error 1解决
在eclipse中导入android项目,项目正常没有任何错误,但是运行时候会报错,(clean什么的都没用了.....)如图: 百度大神大多说是jdk的问题,解决: 右键项目-Properties如 ...
- eclipse — 导入android项目后识别成java项目的问题及解决
最近在eclipse导入android项目的时候遇到了奇葩问题,再此记录 遇到的问题就是:将完好的android项目导入到eclipse的时候,原本这是一个很容易的事情,但是导入成功后发现,,,靠ec ...
- 用Kotlin创建第一个Android项目(KAD 01)
原文标题:Create your first Android project using Kotlin (KAD 01) 作者:Antonio Leiva 时间:Nov 21, 2016 原文链接:h ...
- Android之什么是Activity和常用的ADB命令以及Android项目结构的认识
总结一下之前学习Android的一些内容 一: Android常用的ADB命令(adb android调试桥) 1.adb devices 查看模拟器设备并重新连接. 2.adb ki ...
- eclipse将android项目生成apk并且给apk签名
转载:http://www.cnblogs.com/tianguook/archive/2012/09/27/2705724.html 生成apk最懒惰的方法是:只要你运行过android项目,到工作 ...
- Android开发学习——Android项目的目录结构
Android项目的目录结构: 资源文件夹: 清单配置文件: Android的四大组件在使用前全部需要在清单文件中配置 <?xml version="1.0" encodin ...
- Android项目实战(二十五):Android studio 混淆+打包+验证是否成功
前言: 单挑Android项目,最近即时通讯用到环信,集成sdk的时候 官方有一句 在 ProGuard 文件中加入以下 keep. -keep class com.hyphenate.** {*;} ...
- Android项目实战(二十四):项目包成jar文件,并且将工程中引用的jar一起打入新的jar文件中
前言: 关于.jar文件: 平时我们Android项目开发中经常会用到第三方的.jar文件. 其实.jar文件就是一个类似.zip文件的压缩包,里面包含了一些源代码,注意的是.jar不包含资源文件(r ...
- 初次尝试用Kotlin实现Android项目
Kotlin: The Swift of Android 起这个文内标题的原因很简单,就是对Kotlin抱有希望--能使Android的开发更简洁.高效及安全.知道Kotlin是从简书的一篇短文,越来 ...
随机推荐
- quick-cocos2d-x游戏开发【5】——创建菜单
一个菜单是游戏中的一个基本要素,quick在里面menuItem有两个包.一个是图片菜单.一个文本菜单. 一个.图片菜单ui.newImageMenuItem(params) 參数: image: 正 ...
- 拆分字段优化SQL
拆分字段优化SQL 今天看到一条用函数处理连接的SQL,是群里某位网友的,SQL语句如下: SELECT SO_Order.fdate , SO_Order.fsn FROM so_order INN ...
- 在线maven仓库
findmaven.net是一个查找Jar和查找Maven的Maven仓库搜索引擎,它能够依据Java开发人员提供的Class名或者Jar名找到包括它的Jar,同一时候提供Jar的Maven仓库链接, ...
- Oracle按不同时间分组统计
Oracle按不同时间分组统计 Oracle按不同时间分组统计的sql 如下表table1: 日期(exportDate) 数量(amount) -------------- ----------- ...
- android使用ffmpeg
cygwin上文编译文章. 在ffmpeg/arm添加的文件夹Android.mk 的主要目的是为了宣布动态库libs下一个 LOCAL_PATH:= $(call my-dir) include $ ...
- Javascript学习6 - 类、对象、继承
原文:Javascript学习6 - 类.对象.继承 Javasciprt并不像C++一样支持真正的类,也不是用class关键字来定义类.Javascript定义类也是使用function关键字来完成 ...
- javascript活动
在javascript倘若有知识的三个方面.事件的第一,流程,其次,事件处理,第三,事件对象.下面就我个人的理解,,分别讲述一下这三个方面的内容. 第一.事件流 事件流指的是事件依照一定的顺序触发.它 ...
- NSOJ 一个人的旅行(图论)
虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰富自己的阅历,还可以看美丽的风景……草儿 ...
- HDU - 5008 Boring String Problem (后缀数组+二分法+RMQ)
Problem Description In this problem, you are given a string s and q queries. For each query, you sho ...
- MVC中的其他新特性
MVC中的其他新特性 (GlobalImport全局导入功能) 默认新建立的MVC程序中,在Views目录下,新增加了一个_GlobalImport.cshtml文件和_ViewStart.cshtm ...