public boolean onTouch(View paramView, MotionEvent paramMotionEvent)
{
ImageView localImageView = (ImageView)paramView;
dumpEvent(paramMotionEvent);
switch (0xFF & paramMotionEvent.getAction())
{
}
for (;;)
{
localImageView.setImageMatrix(this.matrix);
return true;
this.savedMatrix.set(this.matrix)
this.start.set(paramMotionEvent.getX(), paramMotionEvent.getY());
Log.d("Touch", "mode=DRAG");
this.mode = 1;
continue;
this.oldDist = spacing(paramMotionEvent);
Log.d("Touch", "oldDist=" + this.oldDist);
if (this.oldDist > 10.0F)
{
this.savedMatrix.set(this.matrix);
midPoint(this.mid, paramMotionEvent);
this.mode = 2;
Log.d("Touch", "mode=ZOOM");
continue;
this.mode = 0;
Log.d("Touch", "mode=NONE");
continue;
if (this.mode == 1)
{
this.matrix.set(this.savedMatrix);
this.matrix.postTranslate(paramMotionEvent.getX() - this.start.x, paramMotionEvent.getY() - this.start.y);
}
else if (this.mode == 2)
{
float f1 = spacing(paramMotionEvent);
Log.d("Touch", "newDist=" + f1);
if (f1 > 10.0F)
{
this.matrix.set(this.savedMatrix);
float f2 = f1 / this.oldDist;
this.matrix.postScale(f2, f2, this.mid.x, this.mid.y);
}
}
}
}
}
}
如您所见,我正在使用矩阵方法在应用程序中滚动和缩放图像。
但是,我在部件中收到错误无法访问代码(第一次出现此声明)
this.savedMatrix.set(this.matrix)
有什么建议吗? THX。
答案 0 :(得分:3)
因为这条线..
return true;
你正在返回值..没有执行任何操作..所以你的return语句下面的代码不再执行..
所以在方法的底部加上这个..
return true;