在运行时,我添加了一个新的 ImageView 并附加了一个监听器,如下所示:
image = new ImageView(someAppContext());
relativeLayout.addView(image, someLayoutParam);
// add onTouch listener to the image view:
image.setOnTouchListener(new ImageView.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
makeToast("touched!");
return false; // tried return true, makes no difference
}
});
之后,我将 TranslateAnimation 与 一起使用setFillAfter(true)
,因此 ImageView 将保持在新位置。但是,如果我触摸 ImageView 的旧位置,而不是图像视觉上的新位置,则会触发 onTouch()。如何使触敏热点与 ImageView 本身一起移动?我也试过了invalidate()
,好像没用。