Android 手势识别中的两个默认实现SimpleOnScaleGestureListener、SimpleOnGestureListener

  1. class ZoomGesture extends GestureDetector.SimpleOnGestureListener {//单手指操作
  2. @Override //双击
  3. public boolean onDoubleTap(MotionEvent e) {
  4. System.out.println("--onDoubleTap---");
  5. return true;
  6. }
  7. @Override
  8. public boolean onDoubleTapEvent(MotionEvent e) {
  9. System.out.println("--onDoubleTapEvent---");
  10. return super.onDoubleTapEvent(e);
  11. }
  12. }
  13. //SimpleOnScaleGestureListener implements OnScaleGestureListener
  14. class ScaleGesture extends ScaleGestureDetector.SimpleOnScaleGestureListener {//双手指操作
  15. @Override
  16. public boolean onScale(ScaleGestureDetector detector) {
  17. detector.getCurrentSpan();//两点间的距离跨度
  18. detector.getCurrentSpanX();//两点间的x距离
  19. detector.getCurrentSpanY();//两点间的y距离
  20. detector.getFocusX();       //
  21. detector.getFocusY();       //
  22. detector.getPreviousSpan(); //上次
  23. detector.getPreviousSpanX();//上次
  24. detector.getPreviousSpanY();//上次
  25. detector.getEventTime();    //当前事件的事件
  26. detector.getTimeDelta();    //两次事件间的时间差
  27. detector.getScaleFactor();  //与上次事件相比,得到的比例因子
  28. return true;
  29. }
  30. }

创建手势探测器

[java] view
plain
copyprint?

  1. private GestureDetector gestureDetector; //手势探测器
  2. private ScaleGestureDetector scaleGestureDetector;//比率手势探测器
  3. ...
  4. gestureDetector = new GestureDetector(context, new ZoomGesture());
  5. scaleGestureDetector = new ScaleGestureDetector(context, new ScaleGesture());
  6. public boolean onTouchEvent(MotionEvent event) {
  7. //单点
  8. gestureDetector.onTouchEvent(event);
  9. //双点
  10. scaleGestureDetector.onTouchEvent(event);
  11. return true;
  12. }
时间: 2024-11-05 06:25:03

Android 手势识别中的两个默认实现SimpleOnScaleGestureListener、SimpleOnGestureListener的相关文章

android开发中,两个按下手机实体返回键,两个Activity反复来回跳转的问题

android开发中,对于用intent实现跳转的Ativity,有时候按下手机的返回键时,两个Activity之间会多次相互跳转,始终退出不了程序的情况.这是由于从Activity  A跳转到Activity  B时,A被压入Activity栈中:当从B返回时,默认又重新创建了一个Activity A对象,这样一来就有了多个Activity A对象.所以造成了无法退出情况. 解决办法是:在AndroidManifest.xml文件中找到Activity A项,在其属性中加入  android:

Android 手势识别开发—手势自动拨号

本文Android手势识别主要开发两个功能 识别手势自动拨号 识别手势关闭程序 第一步:建立手势库 使用sdk自带例子GestureBuilder建立手势库(位置:adt-bundle-windows-x86-20140321\sdk\samples\android-15\GestureBuilder).使用GestureBuilder之前,你需要恢复其到开发环境中,然后进行编译并部署到手机上.此时,就可以使用GestureBuilder建立手势库,生成的手势库文件在sdcard上,默认文件名称

Android项目中如何用好构建神器Gradle?

摘要:本文作者贾吉鑫为大众点评Android工程师,在进行团队并行开发时,分库遇到的问题很多都要通过Gradle脚本解决.Gradle虽为构建神器,但学习曲线比较陡峭,要想在Android项目中用好Gradle必须要做到三点. Android Gradle实战 下面讲讲在Android Gradle实战中遇到的一些问题和经验,感觉还是蛮多干货的. productFlavors 这个东西基本上已经烂大街了,gradle的项目一般都会使用Product Flavor,看完美团的文章,你应该就懂了.

Android中实现静态的默认安装和卸载应用

最近好长时间都没有写blog了,主要是因为最近工作上的事以及下载Android源码的事耽误的(下载源码这件事会在后续的blog中写道,这个真的很有意义呀~~),那么今天来写点什么呢?主要的灵感来自于早上看新闻看到一篇文章说有一款应用在后台中卸载用户 手机中的所有浏览器的app,不会被用户察觉,但是最后百度浏览器还是用反侦察技术找到这个邪恶的应用然后将其告上法庭了.那么我们就来看看怎么能够实现应用的静态安装和卸载呢?就是不让用户知道,下面就来一步一步的介绍一下实现步骤: 一.访问隐藏的API方式进

Android Studio中Button等控件的Text中字符串默认大写的解决方法

初学Android的时候,在Android Studio中xml里面添加一个Button.EditText等控件后,它的Text总是会显示大写,即使你输入的字符串是小写也不行,控制字符串大小写的属性是android:textAllCaps, 最后查看了一下Themes.xml文件,找到了一些端倪,发现在设置样式的时候,默认是把所有的字符串显示大写true. 如图,是从android的Style.xml中的截图,   [解决办法] 1. 把xml中你不想大写的控件添加一行 android:text

Android触摸屏中的手势识别

我们经常利用触摸屏的Fling.Scroll等Gesture(手势)操作来操作会使得应用程序的用户体验大大提升,比如用Scroll手势在 浏览器中滚屏,用Fling在阅读器中翻页等.在Android系统中,手势的识别是通过 GestureDetector.OnGestureListener接口来实现的,不过William翻遍了Android的官方文档也没有找到一个相 关的例子,API Demo中的TouchPaint也仅仅是提到了onTouch事件的处理,没有涉及到手势.Android Deve

Android开发中单元测试的两种方式

Android开发中单元测试的两种方式 一位优秀的程序员也同样不能保证自己的程序没有bug,因此编写合适的测试程序是完全有必要的,这样也会降低程序在后期出现各种奇奇怪怪bug的可能,降低维护成本,未雨绸缪将bug扼杀在摇篮之中. 看到网上有很多依旧用写java单元测试的方式在写android程序的单元测试程序--junit,当然我一直都反感将不合时宜的东西强搬到新的技术应用以获取一席之地的这种做法,不断的应用新的方法提高效率,完善程序才是真理!废话不多说,直接说到今天的重点:Android开发中

[Android] Android ViewPager 中加载 Fragment的两种方式 方式(二)

接上文: https://www.cnblogs.com/wukong1688/p/10693338.html Android ViewPager 中加载 Fragmenet的两种方式 方式(一) 二.使用Fragment来填充ViewPager Google 官方是建议我们使用Fragment来填充ViewPager的,这样可以更加方便的生成每个Page以及管理 每个Page的生命周期!当然它给我们提供了两个不同的Adapter,他们分别是: FragmentPageAdapter和Fragm

Android Studio中debug和release模式默认的参数配置

The possible properties and their default values are: debuggable:表示是否可以在手机上调试程序. 在Eclipse中,只有android:debuggable="true"时我们才可以在手机上调试Android程序. 但是当我们没在AndroidManifest.xml中设置其debug属性时: 使用Eclipse运行这种方式打包时其debug属性为true,使用Eclipse导出这种方式打包时其debug属性为法fals