実行時に、次のように新しい 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()
、役に立たないようです。