(Android) Membuat Drag and Drop dan Mengambil Posisi X dan Y

Feb. 22, 2017, 12:28 p.m. 5 2532

Geser sana geser sini biasanya ada yang mau buat drawing atau Signature atau bisa juga  buat belajar nulis. tapi kali ini saya gak bahas itu semua, saya lebih membahas gimana posisi object drag yang kita geser berada. 

public boolean onTouch(View view, MotionEvent event) {
        final int X = (int) event.getRawX();
        final int Y = (int) event.getRawY();
        switch (event.getAction() & MotionEvent.ACTION_MASK) {
            case MotionEvent.ACTION_DOWN:
                RelativeLayout.LayoutParams lParams = (RelativeLayout.LayoutParams) view.getLayoutParams();
                deltaX = X - lParams.leftMargin;
                deltaY = Y - lParams.topMargin;
                break;
            case MotionEvent.ACTION_MOVE:
                RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) view
                        .getLayoutParams();
                layoutParams.leftMargin = X - deltaX;
                layoutParams.topMargin = Y - deltaY;
                layoutParams.rightMargin = -100;
                layoutParams.bottomMargin = -250;
                view.setLayoutParams(layoutParams);
                Log.e("data x", String.valueOf((X - deltaX) + 23));
                Log.e("data x", String.valueOf((Y - deltaY) + 15));
                break;
        }
        viewGroup.invalidate();
        return true;
    }

kita menggunakan method ontouch yang didalamnya ada beberapa interface class yang bisa gunakan.jadi sistemnya itu gini. ada sebuah meja dan di atas meja ada 1 gelas. jadi kita andaikan itu meja adalah canvas dan gelas adalah object yang kita gerakkan. untuk mengetahui posisi x dan y nya itu di dapat dari canvas yang menempel di layer. jadi sebenarnya dengan mendapatkan x dan y kita dapat mengetahui rasio, dimensi dan layar lebar.

 

https://github.com/aerdy/Android-DranAndDrop_GetPosisionXandY

 

Tentang Penulis

Vimio

Kalau bisa jadi 10 akan kita jadikan semua nya 10, 10 jika nilai 0 - 10 yang tertinggi. tapi sayangnya ketika nilai dan niat saling menghianati. bersyukurlah semua apa yang kita dapat dan yang telah di berikan. ya itu nilai 10 yang dikasih. { 1 0 }

Komentar

Anna arthdi putra

test

  • Feb. 24, 2017, 4:20 a.m.
Anna arthdi putra

test

  • Feb. 24, 2017, 4:19 a.m.