私は自分のアンドロイドアプリケーションでユーザーに表示している画像があります。タッチ座標をビュー(ScreenToClientに相当)に対して取得
私は彼らがどこにイメージを触っているかを知りたいと思っています。
私は簡単に画面がしかし、これらは絶対座標でOnTouchListener
private OnTouchListener image_Listener = new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_UP) {
float x = event.getX();
float y = event.getY();
return true;
}
return false;
}
};
を実装することにより、座標取得することができます。私が実際に必要とするのは、これをViewに関連する座標に変換する関数です。
私は少し掘り下げましたが、私はScreenToClientメソッド私は..
誰にもこれに対する良い解決策を知っているのですか、それとも私自身のロールにする必要がありますか?
これは利用可能な方法のようです - そういうわけで私は求めています。
ありがとうございます。
編集:私は座標がまだビューに相対的ではないことを確信していません。私は座標が絶対であったことを読んで誓うことができたかもしれませんが、いくつかの微妙な変化の後で - 私は期待どおりに働いています..騒々しい男のために申し訳ありません。
あなたの答えをありがとう。 – syllogism
同じ質問が届いています。チュートリアルから、これらのメソッド(view.getLeft()など)。 "その親に対するビューの位置を返します。"しばしば、複雑なレイアウトでは、調査されたビューはスクリーンビューの直接の子ではありません。したがって、Deevが述べた方法は常に適用できません。新しいアイデアは? – user1914692
ええと、私は方法を見つける:View.getLocationOnScreen()および/またはgetLocationInWindow()を使用します。 – user1914692