【教えてください】ImageViewにタップした位置にアイコンを表示する方法

193 views
Skip to first unread message

Akinibu YAMAMOYO

unread,
May 14, 2013, 10:20:10 PM5/14/13
to android-g...@googlegroups.com
To:日本アンドロイドの会の皆様

お世話になっております。山本です。
表題の件、実装してもできないためご教授をお願いします。

画面上にある画像をタップしたら、タップした位置にアイコンを表示したいので
すが、
なかなか実現できません。
現在実現できていることは、以下の通りです。

1.MainActivityでsampleImageViewsetOnTouchListener(imageTouch)を実装して
いる。
2.クラス「imageTouch」のonTouchメソッドでタップした座標を取得できている。

2のタップした座標を表示するアイコンのImageViewに設定し、表示するように
実装したのですがタップしても表示できていません。

「imageTouch」のソースは以下の通りです。
以下ソース-------------------------------------------------------------
public class SampleSingleView implements OnTouchListener {
private ImageView sampleImageView;
private ImageView iconImg;
private float pointX;
private float pointY;

public SampleSingleView(ImageView sampleImageView) {
this.sampleImageView = sampleImageView;
iconImg = new ImageView(this);
iconImg.setImageResource(R.drawable.icon);
}

@Override
public boolean onTouch(View view, MotionEvent event) {
// タップモーションの取得
int tapAction = event.getAction();

// タップ位置の取得
if (tapAction == MotionEvent.ACTION_DOWN){
pointX = event.getX(ZERO));
pointY = event.getY(ZERO));

// アイコンを表示する
iconImg = fireWorkList.get(ZERO);
iconImg.layout((int)pointX, (int)pointY, (int)pointX + 
fireWorkImg.getWidth(), (int)pointY + fireWorkImg.getHeight());
iconImg.bringToFront();
}
}

}

以上ソース-------------------------------------------------------------

書籍やWeb等で実装方法を探していますが、これといったものが見つかりません。
実装方法をご存知でしたら、情報提供をお願い致します。

--
-----------------------------------------------
Akinobu YAMAMOTO

E-mail:akinobu....@gmail.com
-----------------------------------------------

けんぞ(たかはしこうぞう)

unread,
May 16, 2013, 5:45:41 AM5/16/13
to android-g...@googlegroups.com
疑問点が3つほど

親のレイアウトがFrameLayoutになってますか?

iconImg = fireWorkList.get(ZERO);
と上書きになってますが、最初に作ってsetImageResourceしたViewを使わないんでしょうか?

iconImgはいつaddViewされますか?


2013年5月15日水曜日 11時20分10秒 UTC+9 良寛和尚:
E-mail:akin...@gmail.com
-----------------------------------------------

Akinibu YAMAMOYO

unread,
May 16, 2013, 9:26:14 PM5/16/13
to android-g...@googlegroups.com
To:たかはしこうぞうさま

山本です。
ご回答いただき、誠にありがとうございます。

下記の疑問点をもとにこちらで調査致します。
> E-mail:akin...@gmail.com <javascript:>
> -----------------------------------------------
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送ら
> れています。
> このグループから退会し、メールの受信を停止するには、android-group-
> japan+un...@googlegroups.com にメールを送信します。
> このグループに投稿するには、android-g...@googlegroups.com にメー
> ルを送信してください。
> http://groups.google.com/group/android-group-japan?hl=ja からこのグルー
> プにアクセスしてください。
> その他のオプションについては、https://groups.google.com/groups/opt_out
> にアクセスしてください。
>
>


--
-----------------------------------------------
Akinobu YAMAMOTO

E-mail:akinobu....@gmail.com
-----------------------------------------------
Reply all
Reply to author
Forward
0 new messages