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是从简书的一篇短文,越来 ...
随机推荐
- 编程算法基地-2.1利用字符串API
2.1利用字符串API 字符串是Java类型最常用.并且是复合类型 串非常经常用于,其最佳API熟悉文档. 推断串中有没有反复的字符 String s ="abcdebxyz"; ...
- 二维码(QR Code)生成与解析
二维码(QR Code)生成与解析 写在前面 经常在大街上听到扫码送什么什么,如果真闲着没事,从头扫到位,估计书包都装满了各种东西.各种扫各种送,太泛滥了.项目中从没接触过二维码的东东,最近要使用,就 ...
- Bootstrap(2)整体架构
Bootstrap(2)整体架构 大多数Bootstrap的使用者都认为Bootstrap只提供了CSS组件 和JavaScript插件,其实CSS组件和JavaScript插件只是Bootstrap ...
- 【Machine Learning】Mahout基于协同过滤(CF)的用户推荐
一.Mahout推荐算法简介 Mahout算法框架自带的推荐器有下面这些: l GenericUserBasedRecommender:基于用户的推荐器,用户数量少时速度快: l GenericI ...
- JAVA深入研究——Method的Invoke方法(转)
在写代码的时候,发现Method可以调用子类的对象,但子类即使是改写了的Method,方法名一样,去调用父类的对象也会报错,虽然这是很符合多态的现象,也符合java的动态绑定规范,但还是想弄懂java ...
- android:更改PagerTabStrip背景颜色,标题字体样式、颜色和图标,以及指示条的颜色
1.更改PagerTabStrip背景颜色 我们直接在布局中设置background属性可以: <android.support.v4.view.ViewPager android:id=&qu ...
- eclipse 构造 C++ 11 -- ubuntu 12.04
设备g++ 4.8 sudo apt-get install python-software-properties sudo add-apt-repository ppa:ubuntu-toolcha ...
- shell文字过滤程序(十一):paste命令
[版权声明:转载请保留源:blog.csdn.net/gentleliu.Mail:shallnew at 163 dot com] 由于可以从字面上可以看出.paste指挥和cut相反的命令.cut ...
- Android - 警告:it is always overridden by the value specified in the Gradle build script
警告:it is always overridden by the value specified in the Gradle build script 本文地址: http://blog.csdn. ...
- Java设计模式(四) 装饰 代理模式
(七)装饰 Decorator 装饰是一个对象,以动态地增加一些新功能. 象与被装饰的对象须要实现同一个接口.装饰对象持有被装饰对象的实例. interface DecoratorSourceable ...