ImageView を継承した独自クラスを作って onTouchEvent をオーバーライドするか、
ImageView#setOnTouchListener を呼んでリスナを登録すると、タッチの際に
MotionEvent を受け取ることができます。この MotionEvent からタッチした座標を
取得することができます。
APIDemo に、タッチでお絵かきできるプログラムがあります。PaintView をみてください。
View を継承していますが、ImageView でも同じです。
http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/TouchPaint.html
↓は私が公開しているコードですが、こちらの方が多少シンプルなので一応リンクをのせておきます。
https://github.com/zaki50/MemoPad/blob/master/src/org/zakky/memopad/PaintView.java#L174
2012/1/18 henry <henry...@gmail.com>:
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。
>
--
YAMAZAKI Makoto
単純に ImageView が親のViewGroup(今回だと RelativeLayout) と同じ大きさになっていて
表示上 Matrix で画像が小さくなっているだけということではないかと思います。
画像が表示されている領域内だけで操作できるようにしたいのであれば、自分で画像の表示されている
領域を計算してその範囲内で発生しているMotionEventのみに反応するようにするといいのではないでしょうか。
もしくはMatrixによる表示上の変換ではなく、実際にImageView の位置と大きさを
LayoutParam で変更するという方法もあると思います。
2012/1/30 henry <henry...@gmail.com>:
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。