subsampling-scale-image-view setRotation不占用整个屏幕

时间:2015-10-24 14:04:08

标签: android image

我想在点按图像时切换90度旋转:

@UiThread // Android Annotations
void loadImage(ImageSource uri) {
    image.setMinimumScaleType(SCALE_TYPE_CENTER_CROP);
    image.setMaxScale(8);
    image.setImage(uri); // I've tried the ImageViewState variant
    image.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            if (image.getRotation() < 1) {
                image.setRotation(90);
            } else {
                image.setRotation(0);
            }
        }
    });
}

在片段中定义image的地方:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView
        android:id="@+id/image"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</FrameLayout>

它正在工作,但90度旋转的图像并不占据整个屏幕。它的顶部和底部都有白色背景。

Original image

Rotated image

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

它是setOrientation(),而不是setRotation()。后一种方法属于View