import com.stone.R;
import android.app.Activity;
import android.os.Bundle;
import android.view.GestureDetector;
import android.view.GestureDetector.OnGestureListener;
import android.view.MotionEvent;
import android.widget.ViewFlipper;
//ViewFlipper 和手势 左右滑动 切换 Activity
public class Gesture extends Activity implements OnGestureListener{
ViewFlipper flipper; //一次显示一个子view
GestureDetector detector; //手势监测器
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
detector = new GestureDetector(this);
setContentView(R.layout.flipper);
flipper = (ViewFlipper) findViewById(R.id.vf_flipper);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return this.detector.onTouchEvent(event);//由检测器 执行 activity.onTouchEvent
}
/*以下为 OnGestureListener 的方法*/
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
if (e1.getX() - e2.getX() > 120) {//向左滑,右边显示
//this.flipper.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_in));
//this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_out));
this.flipper.showNext();
}
if (e1.getX() - e2.getX() < -120) {//向右滑,左边显示
this.flipper.showPrevious();
}
return false;
}
@Override
public boolean onDown(MotionEvent e) {
return false;
}
@Override
public void onShowPress(MotionEvent e) {
}
@Override //单击
public boolean onSingleTapUp(MotionEvent e) {
return false;
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
return false;
}
@Override // 长按
public void onLongPress(MotionEvent e) {
}
}
flipper.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ViewFlipper
android:id="@+id/vf_flipper"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/a2" />
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/a4" />
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/a3" />
</ViewFlipper>
</LinearLayout>
分享到:
相关推荐
【Android】滑动屏幕效果GestureDetector、OnGestureListener、ViewFlipper
它可以简单实现子页面的切换,,, 它只需使用addView方法添加几个View,每个View对应的是一个页面,即可完成对于多页面的管理,,, 在android上实现手势的识别也比较简单,可以实现OnTouchListener和...
ViewFlipper+GestureDetector多页面切换
Android源码-使用ViewFlipper+GestureDetector实现划动翻页,以及捕捉长按,双击,上下滑动,左右滑动等事件。
NULL 博文链接:https://forlan.iteye.com/blog/2261417
主要为大家详细介绍了Android GestureDetector手势滑动使用实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Android sdk给我们提供了GestureDetector(Gesture:手势Detector:识别)类,通过这个类我们可以识别很多的手势,主要是通过他的onTouchEvent(event)方法完成了不同手势的识别。虽然他能识别手势,但是不同的手势要...
本文实例为大家分享了Android GestureDetector实现手势滑动的具体代码,供大家参考,具体内容如下 目标效果: 程序运行,手指在屏幕上从左往右或者从右往左滑动超过一定距离,就会吐司输出滑动方向和距离。 1....
利用GestureDetector实现页面滑动Demo
NULL 博文链接:https://trylovecatch.iteye.com/blog/1189708
android开发中使用ActivtiyGroup和ViewFlipper实现多个Activity之间的滑屏切换,用GestureDetector实现手势滑动
在Android系统中,每一次手势交互都会依照以下顺序执行。 1. 接触接触屏一刹那,触发一个MotionEvent事件。 2. 该事件被OnTouchListener监听,在其onTouch()方法里获得该MotionEvent对象。 3. 通过GestureDetector...
一直苦于这方面的例子颇少,我经过仔细琢磨做了一个简单的demo,希望能帮到大家,代码基本的注释都有。 共同努力、共同进步 如果有什么问题,欢迎指出
<1>View切换的控件—ViewFlipper 这个控件是什么呢?请注意观看博文Android学习笔记之ViewFilpper 。 除了这个ViewFlipper,我们还需要了解一下ViewAnimator。它主要是为其中的View切换提供动画效果。 还会用到几...
本Demo的两个Fragment分别包含listview和gridview,左右滑动用GestureDetector手势监听;由于listview,gridview的滑动事件和左右滑动事件冲突,所以自定义listview和gridview让其优先执行自定义的左右滑动事件。
一、概述 当用户触摸屏幕的时候,会产生许多手势,例如down,up,scroll,filing...Android sdk给我们提供了GestureDetector(Gesture:手势Detector:识别)类,通过这个类我们可以识别很多的手势,主要是通过他的on
import android.view.GestureDetector.OnGestureListener; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.widget.FrameLayout; import android....
使用ViewFlipper的手势功能完成的图像之间的切换、 package com.action; import android.app.Activity; import android.os.Bundle; import android.view.GestureDetector; import android.view.MotionEvent; import...