根据这些数据进行缩放
if (action == MotionEvent.ACTION_MOVE) { mCurrSpanX = spanX; mCurrSpanY = spanY; mCurrSpan = span; boolean updatePrev = true; if (mInProgress) { updatePrev = mListener.onScale(this); } if (updatePrev) { mPrevSpanX = mCurrSpanX; mPrevSpanY = mCurrSpanY; mPrevSpan = mCurrSpan; mPrevTime = mCurrTime; } } updatePrev这个用于接收用户的返回值
只要我们放回 true ,系统就会保存当前数据
重新获取并计算新的数据和比例
系统默认返回 false 然后进行下一次事件的计算
if (mInProgress) { updatePrev = mListener.onScale(this); } if (updatePrev) { mPrevSpanX = mCurrSpanX; mPrevSpanY = mCurrSpanY; mPrevSpan = mCurrSpan; mPrevTime = mCurrTime; } 结语我要讲的所有内容,到这里就完全结束了
由于源码是按照我自己的理解来讲的,所以难免会有一些出入
希望大家能在评论区中帮我指出,谢谢~