文档章节

android手势滑动——左右滑动效果实现

feng_blog
 feng_blog
发布于 2015/08/31 16:55
字数 386
阅读 145
收藏 0
/**
 * 手势监听
 * 
 * @author lifengfeng
 * 
 */
public class MainActivity extends Activity implements OnTouchListener,
		OnGestureListener {
	// 创建一个用于识别收拾的GestureDetector对象
	@SuppressWarnings("deprecation")
	private GestureDetector detector = new GestureDetector(this);
	// 新建一个LinearLayout布局对象,这里是指主页面的布局
	private LinearLayout myLayout;
	// 限制最小移动像素
	private int FLING_MIN_DISTANCE = 110;
	// 定义的Toast提示框显示时间
	private int TIME_OUT = 1000;
	private static final String TAG = "Main";

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		myLayout = (LinearLayout) findViewById(R.id.test_layout);
		// 为布局绑定监听
		myLayout.setOnTouchListener(this);
	}

	/**
	 * 手势滑动时别调用
	 */
	@Override
	public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
			float velocityY) {
		// X轴的坐标位移大于FLING_MIN_DISTANCE,且移动速度大于FLING_MIN_VELOCITY个像素/秒
		if (e1.getX() - e2.getX() > FLING_MIN_DISTANCE) {
			// 向左滑动
			Toast.makeText(this, "向左滑动", TIME_OUT).show();
		} else if (e2.getX() - e1.getX() > FLING_MIN_DISTANCE) {
			// 向右滑动
			Toast.makeText(this, "向右滑动", TIME_OUT).show();
		}
		return false;
	}

	/**
	 * 长按时被调用
	 */
	@Override
	public void onLongPress(MotionEvent e) {
		Log.d(TAG, "触发长按回调");
	}

	/**
	 * 滚动时调用
	 */
	@Override
	public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
			float distanceY) {
		return false;
	}

	/**
	 * 在按下动作时被调用
	 */
	@Override
	public boolean onDown(MotionEvent e) {
		Log.d(TAG, "按下回调");
		return false;
	}

	/**
	 * 按住时被调用
	 */
	@Override
	public void onShowPress(MotionEvent e) {
		Log.d(TAG, "按住不松回调");
	}

	/**
	 * 抬起时被调用
	 */
	@Override
	public boolean onSingleTapUp(MotionEvent e) {
		Log.d(TAG, "触发抬起回调");
		return false;
	}

	/**
	 * 重写OnTouchListener的onTouch方法 此方法在触摸屏被触摸,即发生触摸事件(接触和抚摸两个事件)的时候被调用
	 */
	@Override
	public boolean onTouch(View v, MotionEvent event) {
		detector.onTouchEvent(event);
		return true;
	}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

© 著作权归作者所有

feng_blog

feng_blog

粉丝 119
博文 130
码字总数 105422
作品 3
朝阳
iOS工程师
私信 提问
Android 滑动效果入门篇(一)—— ViewFlipper

ViewFilpper 是Android官方提供的一个View容器类,继承于ViewAnimator类,用于实现页面切换,也可以设定时间间隔,让它自动播放。 又ViewAnimator继承至于FrameLayout的,所以ViewFilpper的L...

长平狐
2013/01/06
418
0
Android 滑动效果基础篇(三)—— Gallery仿图像集浏览

Android系统自带一个Gallery浏览图片的应用,通过手指拖动时能够非常流畅的显示图片,用户交互和体验都很好。 本示例就是通过Gallery和自定义的View,模仿实现一个仿Gallery图像集的图片浏览...

长平狐
2013/01/06
151
0
Android 滑动效果基础篇(三)—— Gallery仿图像集浏览

Android系统自带一个Gallery浏览图片的应用,通过手指拖动时能够非常流畅的显示图片,用户交互和体验都很好。 本示例就是通过Gallery和自定义的View,模仿实现一个仿Gallery图像集的图片浏览...

子曰疯
2013/11/27
738
2
程序猿媛二:Android底部导航栏(选项卡)

底部导航栏(选项卡) ViewPager+RadioGroup 声明:博文为原创,文章内容为,效果展示,思路阐述,及代码片段。源码请通过应用内下载。 转载请保留原文出处“http://my.oschina.net/gluoyer...

花佟林雨月
2013/11/10
17.7K
3
Android学习笔记之滑动翻页(屏幕切换)

如何实现手机上手动滑动翻页效果呢?呵呵,在这里我们就给你们介绍一下吧。 一般实现这个特效会用到一个控件:ViewFlipper <1>View切换的控件—ViewFlipper 这个控件是什么呢?请注意观看博文...

迷途d书童
2012/03/05
14.6K
2

没有更多内容

加载失败,请刷新页面

加载更多

oracle ORA-39700: database must be opened with UPGRADE option

ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00704: bootstrap process failure ORA-39700: database must be opened with UPGRADE option 进程 ID: 3650 会话 ID: 29......

Tank_shu
今天
1
0
分布式协调服务zookeeper

ps.本文为《从Paxos到Zookeeper 分布式一致性原理与实践》笔记之一 ZooKeeper ZooKeeper曾是Apache Hadoop的一个子项目,是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它...

ls_cherish
今天
4
0
聊聊DubboDefaultPropertiesEnvironmentPostProcessor

序 本文主要研究一下DubboDefaultPropertiesEnvironmentPostProcessor DubboDefaultPropertiesEnvironmentPostProcessor dubbo-spring-boot-project-2.7.3/dubbo-spring-boot-compatible/au......

go4it
昨天
1
0
redis 学习2

网站 启动 服务端 启动redis 服务端 在redis 安装目录下 src 里面 ./redis-server & 可以指定 配置文件或者端口 客户端 在 redis 的安装目录里面的 src 里面 ./redis-cli 可以指定 指定 连接...

之渊
昨天
2
0
Spring boot 静态资源访问

0. 两个配置 spring.mvc.static-path-patternspring.resources.static-locations 1. application中需要先行的两个配置项 1.1 spring.mvc.static-path-pattern 这个配置项是告诉springboo......

moon888
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部