1

画面内でのドラッグの動きを制限する方法はありますか?.これに関する提案や役立つリンクがある場合は、送信してください。

4

1 に答える 1

1

あなたができることは、ドラッグしているビューが存在する画面上のレイアウトの位置を見つけることができると思います。ドラッグしているビューに name がある場合のようにmy_view

my_view.getTop();親に応じて、ビューの最上位に配置されます。そのように、上、下、右、左のすべての位置を見つけることができます。

これで、オーバーライドできます

my_view.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            int event_type = event.getAction();
            // Here you can get the current position of your view.
            // check your current positions with parent position and if it is crossing then just set it according to your parent.
            return false;
        }
    });

したがって、親の位置(左、上、下、右)と子のビューの位置を取得する必要があります。ontouchlistner またはドラッグ用の新しい位置を設定している関数で、子ビューの位置を確認してください。

それがあなたを助けることを願っています。

于 2012-05-03T06:11:30.023 に答える