Android Imageview和Matrix

时间:2016-02-15 08:20:44

标签: android matrix imageview

我使用imageview显示图片库中的图片。

不确定但是我的图像变形很小并且倾斜。

我尝试过刻度类型FITXY,但它没有保持宽高比。

原始图片是 enter image description here

目前我所拥有的是什么 enter image description here

我想要有类似的

enter image description here

我正在使用以下XML

 <ImageView
                            android:id="@+id/imageview1"
                            android:layout_width="80dp"
                            android:layout_height="76dp"
                            android:src="@drawable/ic_add_a_photo_black_361px"
                            android:background="@drawable/back"
                            android:scaleType="matrix"
                            android:layout_marginRight="20dp"
                            android:layout_marginBottom="20dp"
                            />

及以下代码。

Bitmap bMap = BitmapFactory.decodeFile(selectedImagePath);
                imageView1.setImageBitmap(bMap);
                Matrix mat = imageView1.getImageMatrix();

                RectF drawableRect = new RectF(0, 0, bMap.getWidth(), bMap.getHeight());
                RectF viewRect = new RectF(0, 0, imageView1.getWidth(), imageView1.getHeight());
                mat.setRectToRect(drawableRect, viewRect, Matrix.ScaleToFit.FILL);
                //mat.postScale(0.1f, 0.1f);
                imageView1.setImageMatrix(mat);

任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:0)

尝试使用android:adjustViewBounds="true"

<强> e.g

<ImageView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:adjustViewBounds="true"
    />

请参阅this tutorial