Home » Android » How to flip ImageView in Android?

How to flip ImageView in Android?

Posted by: admin June 15, 2020 Leave a comment

Questions:

I am working on an application I need to flip ImageView on touch and transfer control to the second activity.

Please help me.

I tried a lot but I haven’t succeed.

Thank you all in advance.

How to&Answers:

You can use the Animation Apis which are available for Android 3.0 and above.

If you need it pre-honeycomb, you can use a library called NineOldAndroids.

Check out this answer for the exact code to use.

Answer:

Here is a nice library to flip images:

https://github.com/castorflex/FlipImageView

Answer:

You dont need to use any library, you can try following simple function to flip imageview either horizontally or vertically,

    final static int FLIP_VERTICAL = 1;
    final static int FLIP_HORIZONTAL = 2;
    public static Bitmap flip(Bitmap src, int type) {
            // create new matrix for transformation
            Matrix matrix = new Matrix();
            // if vertical
            if(type == FLIP_VERTICAL) {
                matrix.preScale(1.0f, -1.0f);
            }
            // if horizonal
            else if(type == FLIP_HORIZONTAL) {
                matrix.preScale(-1.0f, 1.0f);
            // unknown type
            } else {
                return null;
            }

            // return transformed image
            return Bitmap.createBitmap(src, 0, 0, src.getWidth(), src.getHeight(), matrix, true);
        }

You will have to pass bitmap associated with imageview to be flipped and flipping type. For example,

ImageView myImageView = (ImageView) findViewById(R.id.myImageView);
Bitmap bitmap = ((BitmapDrawable)myImageView.getDrawable()).getBitmap(); // get bitmap associated with your imageview
myImageView .setImageBitmap(flip(bitmap ,FLIP_HORIZONTAL));