这会涉及到两个知识点:
1、Matrix对象:Matrix是一个3*3的矩阵,里面封装了9个float数值,通过控制这9个数值,可以控制图片的大小、旋转、位置、倾斜等。
2、Android的事件处理机制
有两种:基于监听的事件处理机制;基于回调的事件处理机制。
事件处理的先后顺序:1、触发组件绑定的事件监听器;2、触发组件提供的回调方法;3、传播到该组件所在的Activity。其中的返回值代表着事件是否被消费,如果为true,则被消费,即事件不会继续向外传播。
事件对象:MotionEvent。
单指拖拽:
Matrix matrix = new Matrix();
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case (MotionEvent.ACTION_DOWN):
//这样写的话第一次能拖拽,但是之后就不能拖拽了