本文实例讲述了Android手势操作方法。分享给大家供大家参考,具体如下:
Android中提供了判断手势的接口,所以我们可以根据提供的API来实现各种各样的手势功能来提高手机应用的用户体验。
下面是我写的一段小Demo:
GestureActivity.Java
public class GestureActivity extends Activity { private GestureDetector gestureDetector; private Screen screen; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); gestureDetector = new GestureDetector(this,onGestureListener); //得到屏幕的大小 screen = GestureUtils.getScreenPix(this); } @Override public boolean onTouchEvent(MotionEvent event) { return gestureDetector.onTouchEvent(event); } GestureDetector.OnGestureListener onGestureListener = new GestureDetector.SimpleOnGestureListener(){ @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { float x = e2.getX() - e1.getX(); float y = e2.getY() - e1.getY(); //限制必须得划过屏幕的1/3才能算划过 float x_limit = screen.widthPixels / 3; float y_limit = screen.heightPixels / 3; float x_abs = Math.abs(x); float y_abs = Math.abs(y); if(x_abs >= y_abs){ //gesture left or right if(x > x_limit || x < -x_limit){ if(x>0){ //right show("right"); }else if(x //left show("left"); } } }else{ //gesture down or up if(y > y_limit || y < -y_limit){ if(y>0){ //down show("down"); }else if(y //up show("up"); } } } return true; } }; private void show(String value){ Toast.makeText(this, value, Toast.LENGTH_SHORT).show(); } }
GestureUtils.java
public class GestureUtils { //获取屏幕的大小 public static Screen getScreenPix(Context context) { DisplayMetrics dm = new DisplayMetrics(); WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); windowManager.getDefaultDisplay().getMetrics(dm); return new Screen(dm.widthPixels,dm.heightPixels); } public static class Screen{ public int widthPixels; public int heightPixels; public Screen(){ } public Screen(int widthPixels,int heightPixels){ this.widthPixels=widthPixels; this.heightPixels=heightPixels; } @Override public String toString() { return "("+widthPixels+","+heightPixels+")"; } } }
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android文件操作技巧汇总》、《Android编程开发之SD卡操作方法汇总》、《Android开发入门与进阶教程》、《Android资源操作技巧汇总》、《Android视图View技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
本文向大家介绍Android手势左右滑动效果,包括了Android手势左右滑动效果的使用技巧和注意事项,需要的朋友参考一下 最近想实现Android左滑弹出菜单框,右滑消失菜单这个个功能。了解了一下Android 的滑动事件,必须是在view组件或者Activity上实现,同时必须实现OnTouchListener, OnGestureListener这个两个接口。 以上就是本文的全部内容,希望对
我需要在我的代码中检测滑动方向。我可以检测到方向,但它就像我向右、右上方或左上方滑动一样。左边也一样,我的要求是不抬手指,如果我向左划,它应该只向左,所有的方向都一样。有人能帮帮我吗。提前感谢! @重写公共布尔onTouchEvent(MotionEvent touchevent){
手指移动事件监听 本文将向您介绍如何使用 BindingX 提供的手势能力来完成流畅的交互效果。如果您还不了解 BindingX 的工作原理,强烈建议先阅读文档 《简介》以及 《核心概念》。 特性介绍 BindingX 目前仅支持 pan 手势,您只需要在 bind 方法中将 eventType 的值设置为 pan 即可使用。 bindingX 提供了x和y两个预置变量,可以参与表达式运算,这两个
我正在尝试实现“向左向右滑动以删除”的手势,这是在Android IC和以上版本的通知中出现的。我的应用程序中有一个listview。手势探测器在工作。但是当我在一个特定的列表项上从左到右滑动时,我希望该项随我的手指一起移动,当我移动手指超过某个点时,只有在那个点上,该项才会自行删除,我目前使用的OnFling()方法没有实现这一点。 我如何修改OnFling()方法,使项目随着我的手指移动?
本文向大家介绍Android触摸及手势操作GestureDetector,包括了Android触摸及手势操作GestureDetector的使用技巧和注意事项,需要的朋友参考一下 现在的智能手机不敢说百分百的都是触摸屏,也应该是百分之九九以上为触摸屏了,触摸屏为我们操作无键盘、无鼠标的手机系统带来了很多的便利。当用户触摸屏幕时会产生很多的触摸事件,down、up、move等等。View类有个Vie
本文向大家介绍Android手势操作识别详解,包括了Android手势操作识别详解的使用技巧和注意事项,需要的朋友参考一下 首先,在Android系统中,每一次手势交互都会依照以下顺序执行。 1. 接触接触屏一刹那,触发一个MotionEvent事件。 2. 该事件被OnTouchListener监听,在其onTouch()方法里获得该MotionEvent对象。 3. 通过GestureDete