`
l540151663
  • 浏览: 185376 次
  • 性别: Icon_minigender_1
  • 来自: 浙江
社区版块
存档分类
最新评论

view缩放字体的OnTouch

 
阅读更多


@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 多点缩放字体DEMO.zip

    5. **平滑动画**:为了提供更好的用户体验,可以使用ValueAnimator或ObjectAnimator来创建平滑的字体大小变化动画,使字体缩放过程更加流畅。 6. **处理边界条件**:为了防止字体过小或过大无法阅读,我们需要设定...

    OnTouch事件对应代码

    `OnTouch`事件监听器通常通过实现`View.OnTouchListener`接口并重写`onTouch()`方法来设置。 在`onTouch()`方法中,我们可以通过`MotionEvent`对象获取到当前的触摸状态。例如,`MotionEvent.getAction()`可以返回...

    Android onTouch事件传递机制

    在Android开发中,触摸事件处理是用户界面交互的关键部分,`onTouch`事件是其中的核心机制。本篇文章将深入探讨Android的`onTouch`事件传递机制,帮助开发者更好地理解和运用这一功能。 首先,Android的触摸事件...

    手势操作onTouch事件demo

    首先,`onTouch`事件是Android触摸事件处理机制的一部分,主要由`View`类提供。当用户在屏幕上进行触摸操作时,系统会生成一系列的触摸事件(如`ACTION_DOWN`, `ACTION_MOVE`, `ACTION_UP`等),并按照一定的顺序...

    Android onTouch机制

    在Android开发中,触摸事件处理是用户界面交互的基础,`onTouch`机制是这一过程的核心。本文将深入探讨Android的触摸事件处理流程,包括`dispatchTouchEvent`和`onTouchEvent`两个关键方法,以及如何通过日志来观察...

    SlideLayout-控制View的OnClick OnTouch来实现LsitView的Item的侧滑出现删除.zip

    如何使用,参考:http://www.see-source.com/blog/300000022/670.htmlgithub地址:https://github.com/hanks-zyh/SlideLayout

    Android ontouch事件处理的三种方式

    在Android中,`View.OnTouchListener`是一个接口,它包含一个方法`onTouch(View v, MotionEvent event)`。为了处理`ontouch`事件,我们需要创建一个实现了`OnTouchListener`的类,并重写`onTouch`方法。在该方法中,...

    使用OnTouch实现一个控件同时设置单击、双击、长按事件demo

    `OnTouchListener`是Android中的一个接口,它定义了`onTouch(View view, MotionEvent event)`方法,用于监听视图上的触摸事件。`MotionEvent`对象包含了关于触摸事件的所有信息,如动作类型(ACTION_DOWN, ACTION_UP...

    OnTouch的简单demo

    `OnTouchListener`是Android中的一个接口,它包含了一个方法:`onTouch(View v, MotionEvent event)`。当你希望对某个View(如Button、TextView等)进行触摸事件的监听时,你需要实现这个接口,并重写`onTouch`方法...

    onTouch事件测试

    在Android开发中,`onTouch`事件是处理用户触摸屏幕行为的关键部分,它涉及到Activity、View及ViewGroup的交互。本测试Demo旨在帮助开发者深入理解`onTouch`事件的工作机制,通过实践提升对代码逻辑的理解。 `...

    onTouch demo

    本示例"onTouch demo"旨在帮助开发者理解并解决常见的触摸事件冲突问题,并在面试中能够清晰地阐述`onTouch`的工作原理。 `onTouchEvent`或`onTouch`是Android中的一个关键接口方法,用于接收和处理用户的触摸事件...

    onTouch测试

    `onTouch`是`View.OnTouchListener`接口中的方法,我们可以通过实现该接口并重写`onTouch`来监听触摸事件。在这个方法中,我们可以通过`MotionEvent`对象获取事件类型、坐标等信息,根据需要进行处理。 3. **...

    Android判断touch事件点是否在view范围内的方法

    本篇文章将深入探讨如何判断一个触摸事件点是否在指定的View范围内,以及涉及的相关事件响应和View属性操作。 首先,让我们了解Android中的触摸事件处理流程。Android通过MotionEvent类来表示触摸屏幕产生的动作,...

    android悬浮框的onTouch和onClick事件同时存在

    而触摸事件(onTouch)则需要重写View的`onTouchEvent()`方法。当用户点击屏幕时,会先触发ACTION_DOWN,然后是ACTION_UP,中间可能伴随ACTION_MOVE。如果ACTION_DOWN和ACTION_UP之间没有ACTION_MOVE,我们就认为这...

    Android中丰富多彩的onTouch事件.rar

    例如,通过分析`ACTION_MOVE`事件的连续坐标变化,可以识别出滑动、捏合等复杂手势,从而实现如页面滚动、图片缩放等功能。 七、触摸事件与点击事件的区别 触摸事件(`onTouchEvent`)与点击事件(`onClick`)的...

    onclick与ontouch和scroll监听冲突的解决方法

    在Android开发中,我们经常会遇到各种事件监听器的冲突问题,特别是`onclick`、`ontouch`和`scroll`监听器。这些事件在用户交互时可能会同时触发,导致不期望的行为,例如,当用户尝试滚动页面时,点击事件却意外...

    android ontouch(记录滑动坐标)

    当我们想要追踪用户手指在屏幕上的滑动轨迹,例如实现一个虚拟触摸板(如`TouchpadDemo`项目所示),我们需要深入理解`MotionEvent`类以及如何在`View`或`Activity`中适当地使用`onTouchEvent`或`onTouch`方法。...

    多点触控控制字体大小

    总之,“多点触控控制字体大小”是一个实用且有趣的Android开发示例,它展示了如何利用Android的多点触控事件处理机制,以及如何通过手势识别来实现平滑的字体缩放功能。开发者可以通过这个项目学习到触摸事件处理、...

    浅谈onTouch先执行,还是onClick执行(详解)

    public boolean onTouch(View view, MotionEvent motionEvent) { Log.d(TAG, "onTouch execute, action event " + motionEvent.getAction()); return false; } }); ``` 当用户点击或触摸`Button`时,系统会按照...

    实现OnTouch、OnClick、OnLongClick的并存

    在`OnTouch`回调中,开发者可以检测这些动作并做出响应,例如在本Demo中,用于图片的缩放和平移。通过比较ACTION_DOWN和ACTION_UP的位置变化,以及ACTION_MOVE中的坐标信息,可以实现手势识别,从而控制图片的平移和...

Global site tag (gtag.js) - Google Analytics