Android GestureDetector 手势滑屏
来源:互联网 发布:xp编程器官方网站 编辑:程序博客网 时间:2024/06/08 17:27
屏幕左右滑屏事件
1.创建滑屏监听类,独立或者内部类都可:
/** * 滑动监听类 * @author dpjiangyb * */class MyGuestListner extends SimpleOnGestureListener{//监听滑动事件@Overridepublic boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,float velocityY) {if (e1.getX() - e2.getX() > 120) { //向左滑动pageNext();ActivityUtils.animationPushInFromRight(SpecialtyActivity.this, iv_specialtyImage);}else if (e1.getX() - e2.getX() < -120){//向右滑动prePage();ActivityUtils.animationPushInFromLeft(SpecialtyActivity.this, iv_specialtyImage);}else{return false;}return true;} }
2.定义GestureDetector 并在主线程中初始化
detector = new GestureDetector(this, new MyGuestListner());3.重写Activity的onTouchEvent方法,将触屏事件交给GestureDetector的onTouchEvent处理
@Overridepublic boolean onTouchEvent(MotionEvent event) {return detector.onTouchEvent(event);}
搞定!
4.可能会遇到的问题:
GestureDetector 与 ScrollView 触屏事件冲突:
ScrollView把触屏事件拦截了,所以会发生GestureDetector的滑屏之类的事件无法响应,解决办法是先响应ViewFlipper,再响应ScrollView。
@Overridepublic boolean dispatchTouchEvent(MotionEvent ev){//TODOAuto-generatedmethodstubgd.onTouchEvent(ev); //让GestureDetector响应触碰事件super.dispatchTouchEvent(ev); //让Activity响应触碰事件return false;}
@Overridepublic boolean onTouchEvent(MotionEvent event){//TODOAuto-generatedmethodstubcontentScrollView.onTouchEvent(event); //让ScrollView响应触碰事件return false;}
一般添加第一个就能搞定。
5.滑屏动画XML
push_left_in.xml
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="500" android:fromXDelta="-100%p" android:toXDelta="0" /></set>
push_left_out.xml
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="500" android:fromXDelta="0" android:toXDelta="-100%p" /> <alpha android:duration="500" android:fromAlpha="1.0" android:toAlpha="0.1" /></set>
push_right_in.xml
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="500" android:fromXDelta="100%p" android:toXDelta="0" /></set>
push_right_out.xml
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="500" android:fromXDelta="0" android:toXDelta="100%p" /> <alpha android:duration="500" android:fromAlpha="1.0" android:toAlpha="0.1" /></set>
- Android GestureDetector 手势滑屏
- Android GestureDetector手势识别
- android 手势操作GestureDetector
- Android GestureDetector 手势基础
- Android GestureDetector 手势基础
- android 手势操作GestureDetector
- Android GestureDetector 手势基础
- Android GestureDetector 手势检测
- android 手势操作GestureDetector
- GestureDetector android 手势识别
- Android 手势识别--GestureDetector
- Android : GestureDetector手势检测
- Android 手势操作GestureDetector
- Android-----手势识别GestureDetector
- Android-GestureDetector手势滑动
- Android手势检测GestureDetector
- Android GestureDetector手势识别
- Android手势GestureDetector
- java集合框架知识
- 数组练习题
- 使用apache mail发送邮件两个常见的错误的解决办法
- Oracle 索引 详解
- 编写Android.mk中的LOCAL_SRC_FILES的终极技巧
- Android GestureDetector 手势滑屏
- Map系列的Properties,实现程序运行次数计数
- 【论文笔记】Blocks that Shout:Distinctive Parts for Scene Classification
- 使用URLConnection调用webservice
- 安卓中的消息机制
- 从richrdit获取文本,设置文本
- Java获取并输出两日期间的所有日期 .
- Ext3.4 Ext.Ajax.request 的同步与异步
- Latex测试