- 浏览: 185376 次
- 性别:
- 来自: 浙江
文章分类
最新评论
@Override
public boolean onTouch(View v, MotionEvent event)
{
switch (event.getAction() & MotionEvent.ACTION_MASK)
{
// MotionEvent.ACTION_DOWN:在第一个点被按下时触发
// MotionEvent.ACTION_UP:当屏幕上唯一的点被放开时触发
// MotionEvent.ACTION_POINTER_DOWN:当屏幕上已经有一个点被按住,此时再按下其他点时触发。
// MotionEvent.ACTION_POINTER_UP:当屏幕上有多个点被按住,松开其中一个点时触发(即非最后一个点被放开时)。
// MotionEvent.ACTION_MOVE:当有点在屏幕上移动时触发。值得注意的是,由于它的灵敏度很高,而我们的手指又不可能完全静止(即使我们感觉不到移动,但其实我们的手指也在不停地抖动),所以实际的情况是,基本上只要有点在屏幕上,此事件就会一直不停地被触发。
//
case MotionEvent.ACTION_DOWN:
mode = DRAG;//一个点触摸
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_POINTER_UP:
mode = NONE;//0个点触摸
break;
case MotionEvent.ACTION_POINTER_DOWN:
oldDist = spacing(event);
if (oldDist > 10f)
{
mode = ZOOM;//两个点触摸
}
break;
case MotionEvent.ACTION_MOVE:
if (mode == ZOOM)
{
// 正在移动的点距初始点的距离
float newDist = spacing(event);
if (newDist > oldDist+1)
{
zoomOut();//放大字体
}
if (newDist < oldDist+1)
{
zoomIn();//缩小字体
}
}
break;
}
return true;
}
/**
* 求出2个触点间的 距离
*
* @param event
* @return
*/
private float spacing(MotionEvent event)
{
float x = event.getX(0) - event.getX(1);
float y = event.getY(0) - event.getY(1);
return FloatMath.sqrt(x * x + y * y);//sqrt 返回最接近的平方根。
}
发表评论
-
关于Android的webSocket的简单使用
2017-05-12 14:34 987使用第三方jar: autobahn-0.5.0.jar 连 ... -
Comparator自定义排序的使用
2017-05-11 14:18 749java对于集合的自定义排序方法有: Arrays.sort ... -
查看Android虚拟机文件相关命令
2017-05-02 14:12 608我们在虚拟机下添加文件后,想查看下文件是否正确创建,可在win ... -
android6.0创建文件问题
2017-05-02 12:58 587Android在6.0有了动态权限管理,在文件创建时就需要动态 ... -
xutils的http模块的简单使用
2017-04-28 16:05 527先导入xutils相关依赖: compile 'org.xut ... -
Litepal的简单使用
2017-04-27 17:21 642相关包下载地址:https://github.com/Lite ... -
Android下拉刷新上拉加载控件的使用
2017-04-21 10:46 852参考链接:http://www.jianshu.com/p/6 ... -
图片加载框架
2017-04-19 16:29 402图片加载框架: picasso ImageLoader -
Android的Service总结
2017-04-17 15:46 461参考链接:http://www.cnblogs.com/lwb ... -
解决ViewPager的addOnPageChangeListener不加载第一个的问题
2017-03-18 17:53 2649今天在使用ViewPager的时候发现个问题。 需求如下: ... -
clone方法的使用
2017-01-04 10:14 555由于Java有引用这一说,当两个变量指向同一块内存时,改变 ... -
Fragment无法切换问题
2016-12-16 14:57 2114Android有一个回收机制,当内存不足时,会自动回收相关内存 ... -
关于Material Design的CollapsingToolbarLayout初次使用
2016-12-16 13:38 614最近了解了下CollapsingToolbarLayout的使 ... -
MVP模式的学习
2016-12-10 15:15 676以前我写代码都是使用MVC模式,这种模式使Activity变得 ... -
Material Design:Android Design Support Library 介绍
2016-12-10 14:14 471参考链接 : https://blog.leancloud.c ... -
SpannableString简介
2016-12-10 14:03 424参考链接: http://www.cnblogs.com/ji ... -
getResources().getDrawable方法的废弃
2016-12-10 13:20 1236参考链接:http://www.jianshu.com/p/e ... -
关于AndroidStudio的Unsupported major.minor version 52.0异常
2016-12-10 13:15 2380参考链接:http://blog.csdn.net/fakin ... -
Android记录
2015-06-01 10:54 642http://tools.android-studio.org ... -
android自定义控件相关使用
2015-04-24 16:53 612用代码简单介绍下自定义控件的使用: 先看主activity: ...
相关推荐
5. **平滑动画**:为了提供更好的用户体验,可以使用ValueAnimator或ObjectAnimator来创建平滑的字体大小变化动画,使字体缩放过程更加流畅。 6. **处理边界条件**:为了防止字体过小或过大无法阅读,我们需要设定...
`OnTouch`事件监听器通常通过实现`View.OnTouchListener`接口并重写`onTouch()`方法来设置。 在`onTouch()`方法中,我们可以通过`MotionEvent`对象获取到当前的触摸状态。例如,`MotionEvent.getAction()`可以返回...
在Android开发中,触摸事件处理是用户界面交互的关键部分,`onTouch`事件是其中的核心机制。本篇文章将深入探讨Android的`onTouch`事件传递机制,帮助开发者更好地理解和运用这一功能。 首先,Android的触摸事件...
首先,`onTouch`事件是Android触摸事件处理机制的一部分,主要由`View`类提供。当用户在屏幕上进行触摸操作时,系统会生成一系列的触摸事件(如`ACTION_DOWN`, `ACTION_MOVE`, `ACTION_UP`等),并按照一定的顺序...
在Android开发中,触摸事件处理是用户界面交互的基础,`onTouch`机制是这一过程的核心。本文将深入探讨Android的触摸事件处理流程,包括`dispatchTouchEvent`和`onTouchEvent`两个关键方法,以及如何通过日志来观察...
如何使用,参考:http://www.see-source.com/blog/300000022/670.htmlgithub地址:https://github.com/hanks-zyh/SlideLayout
在Android中,`View.OnTouchListener`是一个接口,它包含一个方法`onTouch(View v, MotionEvent event)`。为了处理`ontouch`事件,我们需要创建一个实现了`OnTouchListener`的类,并重写`onTouch`方法。在该方法中,...
`OnTouchListener`是Android中的一个接口,它定义了`onTouch(View view, MotionEvent event)`方法,用于监听视图上的触摸事件。`MotionEvent`对象包含了关于触摸事件的所有信息,如动作类型(ACTION_DOWN, ACTION_UP...
`OnTouchListener`是Android中的一个接口,它包含了一个方法:`onTouch(View v, MotionEvent event)`。当你希望对某个View(如Button、TextView等)进行触摸事件的监听时,你需要实现这个接口,并重写`onTouch`方法...
在Android开发中,`onTouch`事件是处理用户触摸屏幕行为的关键部分,它涉及到Activity、View及ViewGroup的交互。本测试Demo旨在帮助开发者深入理解`onTouch`事件的工作机制,通过实践提升对代码逻辑的理解。 `...
本示例"onTouch demo"旨在帮助开发者理解并解决常见的触摸事件冲突问题,并在面试中能够清晰地阐述`onTouch`的工作原理。 `onTouchEvent`或`onTouch`是Android中的一个关键接口方法,用于接收和处理用户的触摸事件...
`onTouch`是`View.OnTouchListener`接口中的方法,我们可以通过实现该接口并重写`onTouch`来监听触摸事件。在这个方法中,我们可以通过`MotionEvent`对象获取事件类型、坐标等信息,根据需要进行处理。 3. **...
本篇文章将深入探讨如何判断一个触摸事件点是否在指定的View范围内,以及涉及的相关事件响应和View属性操作。 首先,让我们了解Android中的触摸事件处理流程。Android通过MotionEvent类来表示触摸屏幕产生的动作,...
而触摸事件(onTouch)则需要重写View的`onTouchEvent()`方法。当用户点击屏幕时,会先触发ACTION_DOWN,然后是ACTION_UP,中间可能伴随ACTION_MOVE。如果ACTION_DOWN和ACTION_UP之间没有ACTION_MOVE,我们就认为这...
例如,通过分析`ACTION_MOVE`事件的连续坐标变化,可以识别出滑动、捏合等复杂手势,从而实现如页面滚动、图片缩放等功能。 七、触摸事件与点击事件的区别 触摸事件(`onTouchEvent`)与点击事件(`onClick`)的...
在Android开发中,我们经常会遇到各种事件监听器的冲突问题,特别是`onclick`、`ontouch`和`scroll`监听器。这些事件在用户交互时可能会同时触发,导致不期望的行为,例如,当用户尝试滚动页面时,点击事件却意外...
当我们想要追踪用户手指在屏幕上的滑动轨迹,例如实现一个虚拟触摸板(如`TouchpadDemo`项目所示),我们需要深入理解`MotionEvent`类以及如何在`View`或`Activity`中适当地使用`onTouchEvent`或`onTouch`方法。...
总之,“多点触控控制字体大小”是一个实用且有趣的Android开发示例,它展示了如何利用Android的多点触控事件处理机制,以及如何通过手势识别来实现平滑的字体缩放功能。开发者可以通过这个项目学习到触摸事件处理、...
public boolean onTouch(View view, MotionEvent motionEvent) { Log.d(TAG, "onTouch execute, action event " + motionEvent.getAction()); return false; } }); ``` 当用户点击或触摸`Button`时,系统会按照...
在`OnTouch`回调中,开发者可以检测这些动作并做出响应,例如在本Demo中,用于图片的缩放和平移。通过比较ACTION_DOWN和ACTION_UP的位置变化,以及ACTION_MOVE中的坐标信息,可以实现手势识别,从而控制图片的平移和...