1.
在触控事件中,让ImageView跟随着触控的坐标变化移动,为什么Imageview跟手指触控屏幕的位坐标总是相差一段距离。
public boolean onTouchEvent(MotionEvent event)
{
/*取得手指触控屏幕的位置*/
float x = event.getX();
float y = event.getY();
mImageView01.setLayoutParams
(
new AbsoluteLayout.LayoutParams
(intWidth,intHeight,(int)x,(int)y)
);
}
原因:
onTouchEvent函数getX和getY获得的坐标是相对屏幕左上角的(x2,y2),而mImageView01.setLayoutParams设置的坐标是相对于客户区的黑色区域(x1,y1)。