JavascriptProva

giovedì 8 novembre 2018

Codice essenziale per una floating image in overlay in android

Ecco ricostruito il codice per muovere una floating image in overlay:
        mFloatingView.setOnTouchListener(new View.OnTouchListener() {
            int x_init_coord, y_init_coord;
            int x_margin, y_margin;
            @Override
            public boolean onTouch(View view, MotionEvent event) {
                WindowManager.LayoutParams layoutParams = (WindowManager.LayoutParams) mFloatingView.getLayoutParams();
                int x_coord = (int) event.getRawX();
                int y_coord = (int) event.getRawY();
                switch(event.getAction()){
                    case MotionEvent.ACTION_DOWN:
                        x_margin = layoutParams.x;
                        y_margin = layoutParams.y;
                        x_init_coord = x_coord;
                        y_init_coord = y_coord;
                        return true;
                    case MotionEvent.ACTION_MOVE:
                        int x_diff = x_coord - x_init_coord;
                        int y_diff = y_coord - y_init_coord;
                        int x_destination = x_margin + x_diff;
                        int y_destination = y_margin + y_diff;
                        layoutParams.x = x_destination;
                        layoutParams.y = y_destination;
                        windowManager.updateViewLayout(view,layoutParams);
                        return true;
                }
                return false;
            }
        });

Nessun commento:

Posta un commento