Проблема с поворотом просмотра изображений

#java #android-studio #image-rotation

Вопрос:

Я столкнулся с проблемой при вращении изображения с помощью ImageFilterView . Когда я поворачиваю изображение на 90 градусов, оно отображается ImageFilterView так, как будто оно обрезано. Я приложил два скриншота, надеюсь, что это хорошо прояснит проблему.

Перед Вращением
После Ротации - Выпуск

Code:

 public class MainActivityy extends AppCompatActivity {

    private float rotation = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_activityy);

        ImageFilterView imageFilterView = findViewById(R.id.imageFilterView);
        Button rotateCwBtn = findViewById(R.id.rotateCwBtn);
        Button rotateCcwBtn = findViewById(R.id.rotateCcwBtn);

        rotateCwBtn.setOnClickListener(v -> {
            rotation = rotation   90;
            imageFilterView.setImageRotate(rotation);
        });

        rotateCcwBtn.setOnClickListener(v -> {
            rotation = rotation - 90;
            imageFilterView.setImageRotate(rotation);
        });

    }
}
 

activity_main.xml

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="5dp"
    tools:context=".MainActivityy">

    <androidx.constraintlayout.utils.widget.ImageFilterView
        android:id="@ id/imageFilterView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:scaleType="fitCenter"
        android:adjustViewBounds="true"
        android:src="@drawable/background" />

    <com.google.android.material.button.MaterialButton
        android:id="@ id/rotateCwBtn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Rotate"
        app:icon="@drawable/ic_rotate_cw" />

    <com.google.android.material.button.MaterialButton
        android:id="@ id/rotateCcwBtn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Rotate"
        app:icon="@drawable/ic_rotate_ccw" />

</LinearLayout>