Android Flip ImageView垂直

Sub*_*bby 24 android flip imageview

我试图翻转和ImageView垂直,但它不会工作.

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));
}
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

ImageView根本不是在翻转.

谁知道为什么?

Lam*_*rak 83

检查这个答案.您可以使用xml参数轻松执行翻转

android:scaleY="-1"
Run Code Online (Sandbox Code Playgroud)

请注意,仅在运行应用时,这在预览中不起作用.
从Android Studio 2开始,这也适用于预览.

或者,您可以setScaleY(-1f)使用您ImageView的密码.


Moh*_*ram 10

在你的小部件上使用rotationY属性,

  android:rotationY="180"
Run Code Online (Sandbox Code Playgroud)

例如:

<androidx.appcompat.widget.AppCompatImageView
   android:layout_width="@dimen/button_height_small"
   android:layout_height="@dimen/button_height_small"
   android:layout_gravity="center"
   android:padding="@dimen/space_medium"
   android:rotationY="180"/>
Run Code Online (Sandbox Code Playgroud)


小智 7

我用了

 imageView.setScaleY(-1);
Run Code Online (Sandbox Code Playgroud)

翻转 imageView (相对于未缩放宽度围绕枢轴点进行缩放,比较文档


Cat*_*ina 1

如果您传递给 FlipImageVertically 方法的位图是相反的并且您每次总是传递相同的位图,则可能会发生这种情况。发布更多详细信息可以帮助缩小 xml 和代码的范围。