1

ImageView を使用して画面にカメラ画像を表示する Android 用のアプリを作成しています (何らかの操作を行った後)。画面上で他の ImageView を移動できるようにしたいのですが、親の ImageView 内のみです。

また、親 ImageView の座標に対する子ビューの座標を取得する必要があります。すなわち - (0,0) が画面全体ではなく、カメラを表示する ImageView になるようにします。

それはまったく可能ですか?もしそうなら - どのように?

助けていただければ幸いです。ありがとう

4

1 に答える 1

1

ビューをドラッグして移動したい場合は、Moving image with touch events など、多くの情報があります。

minorViewそれに対して上と左側を取得することは、majorView単純な減算でも簡単minorViewRelativeTop = minorViewTop - majorViewTopです。これらの絶対位置を取得するには、 View.getLocationInWindow()を使用します。

NBView.getLocationInWindow()通常、内部だけでは機能しないActivity.onCreate()ため、少し遅れてから呼び出すことをお勧めします。テストの場合、次のようになります。

majorView.postDelayed(new Runnable() {
            @Override
            public void run() {
                int[] location = new int[2];
                majorView.getLocationInWindow(location);
                int majorViewLeft = location[0];
                int majorViewTop = location[1];
            }
        }, 1000);
于 2013-04-12T13:36:07.920 に答える