提问之星
2015-12-07 09:44
采纳率: 99.8%
浏览 1.7k

java中android中onTouchEvent方法的问题详解,谢谢解答!

public boolean onTouchEvent(MotionEvent event)
{
    //调用warp方法根据触摸屏事件的座标点来扭曲verts数组
    warp(event.getX(), event.getY());
    return true;
}

//MotionEvent event这两个哪个是数据类型,哪个是数值
//event.getX(), event.getY() 返回的是什么值是什么数据类型?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 毕小宝 2015-12-07 10:35
    已采纳

    第一个是参数的数据类型,第二个是具体的参数名称,这个就是简单的方法声明的语法呀。

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • devmiao 2015-12-07 09:49
     View#onTouchEvent方法主要做了如下处理:
    
     (1) 如果此view被禁用了. (如果是触碰完成事件则设置按下状态),然后返回是否可点击.
    
       (中间的注释的意思为:一个可点击的View虽然禁用了,但是还是要把事件消耗掉,只是不响应它们而已.
    
    if ((viewFlags & ENABLED_MASK) == DISABLED) {
        if (event.getAction() == MotionEvent.ACTION_UP && (mPrivateFlags & PFLAG_PRESSED) != 0) {
            setPressed(false);
        }
        // A disabled view that is clickable still consumes the touch
        // events, it just doesn't respond to them.
        return (((viewFlags & CLICKABLE) == CLICKABLE ||
                (viewFlags & LONG_CLICKABLE) == LONG_CLICKABLE));
    }
    (2) 如果此View有触碰事件处理代理,那么将此事件交给代理处理:
    
    
    if (mTouchDelegate != null) {
             if (mTouchDelegate.onTouchEvent(event)) {
                 return true;
             }
    }
    
    (3)如果不可点击(既不能单击,也不能长按)则直接返回.false
    
    
    (4)可点击时,处理触控事件.根据,按下,移动,取消,抬起,这些基本触摸事件来分别处理.
    
     它们其中又有很强的关联性.
    
    
    评论
    解决 无用
    打赏 举报
  • LloydFinch 2015-12-07 14:41

    第一个是数据类型,第二个是数值,返回的是点击的坐标

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题