shapeDrawer中onTouchEvent是自己定义的,就相当于把imageview的onTouchEvent的实现单独提出来实现,然后在imageView中onTouchEvent中调用。shapeDrawer中onTouchEvent方法,可以取名A,也可以取名B。只是imageView中onTouchEvent方法调用的具体实现罢了。取相同名字是方法理解。
引用 5 楼 Simple_Simple_Simple 的回复:ShapeDrawer是你自己定义的类,里面的方法当然也是你自己定义命名的,像楼上说的那样 shapeDrawer中onTouchEvent方法,可以取名A,也可以取名B,其实关键在于它的参数MotionEvent,虽然ShapeDrawer不是基于View的子类,但是MotionEvent参数是从View的子类的onTouchEvent方法传过来的你好,也就是说因为在下图的代码中shapeDrawer.onTouchEvent(event)的参数是从View子类onTouchEvent的参数传来的,所以调用了shapeDrawer.onTouchEvent的具体内容
解决方案8:
引用 7 楼 qq_29838777 的回复:Quote: 引用 5 楼 Simple_Simple_Simple 的回复:
ShapeDrawer是你自己定义的类,里面的方法当然也是你自己定义命名的,像楼上说的那样 shapeDrawer中onTouchEvent方法,可以取名A,也可以取名B,其实关键在于它的参数MotionEvent,虽然ShapeDrawer不是基于View的子类,但是MotionEvent参数是从View的子类的onTouchEvent方法传过来的你好,也就是说因为在下图的代码中shapeDrawer.onTouchEvent(event)的参数是从View子类onTouchEvent的参数传来的,所以调用了shapeDrawer.onTouchEvent的具体内容
是的,这个代码不就是view的onTouchEvent执行的时候ShapeDrawer的onTouchEvent就执行吗