android imageview flip

Android Flip ImageView verticalmente



(5)

Comprueba esta respuesta . Puedes realizar flip fácilmente usando un parámetro xml

android:scaleY="-1"

Tenga en cuenta que esto no funciona en la vista previa, solo cuando ejecuta la aplicación.
Desde Android Studio 2, esto también funciona en la vista previa.

Alternativamente, puede llamar a setScaleY(-1f) en su código de ImageView .

Estoy tratando de voltear e ImageView verticalmente pero simplemente no funciona.

Java:

public static void flipImageVertically(final Bitmap bmp, final ImageView imageView) { final Matrix matrix = new Matrix(); matrix.preScale(1.0f, -1.0f); imageView.setImageBitmap(Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), bmp.getHeight(), matrix, true)); }

XML:

<LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1"> <ImageView android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@color/red" /> </LinearLayout>

El ImageView no está volteando en absoluto.

Alguien sabe por qué?


Esto podría suceder si el Bitmap que está pasando al método flipImageVertically es al revés y siempre está pasando el mismo bitmap cada vez. Publicar más detalles podría ayudar a reducir, xml y código.


Solo para notificar que he desarrollado una nueva biblioteca FlipView que incluye y amplía esta animación específica (voltear). Me refiero a una biblioteca completamente personalizable donde podrás intercambiar cualquier tipo de vistas y diseños con cualquier tipo de animación y formas que desees, incluido el cambio de imagen de Gmail.

Para su caso específico, el ejemplo que proporcioné con la biblioteca también tiene una tapa vertical.

Por favor échale un vistazo.


solía

<ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="YOUR_DRAWABLE_HERE" android:rotation="180"/> // USE THIS TO FLIP IMAGE

Espero que esto ayude :)


obtener lo dibujable de los recursos

Bitmap icon = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.index);

y entonces

public static Bitmap flip(Bitmap src, Direction type) { Matrix matrix = new Matrix(); if(type == Direction.VERTICAL) { matrix.preScale(1.0f, -1.0f); } else if(type == Direction.HORIZONTAL) { matrix.preScale(-1.0f, 1.0f); } else { return src; } return Bitmap.createBitmap(src, 0, 0, src.getWidth(), src.getHeight(), matrix, true); }

Establecer ImageView.setImageBitmap()