Lorem ipsum dolor sit amet, consectetur adipiscing elit. Test link

MoveImageView in Android

MoveImageView in Android


public class MoveImageView extends ImageView {

    private float mLastTouchX;
    private float mLastTouchY;

    public MoveImageView(Context context) {
        super(context);
        init();
    }

    public MoveImageView(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    public MoveImageView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        init();
    }

    private void init() {
        setOnTouchListener(new OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                final float x = event.getRawX();
                final float y = event.getRawY();
                switch (event.getAction() & MotionEvent.ACTION_MASK) {
                    case MotionEvent.ACTION_DOWN:
                        mLastTouchX = x;
                        mLastTouchY = y;
                        break;
                    case MotionEvent.ACTION_MOVE:
                        float deltaX = x - mLastTouchX;
                        float deltaY = y - mLastTouchY;
                        float translationX = getTranslationX() + deltaX;
                        float translationY = getTranslationY() + deltaY;
                        setTranslationX(translationX);
                        setTranslationY(translationY);
                        break;
                }
                return true;
            }
        });
    }
}

        

Post a Comment