我有一个imageview,后面会包含一些随机大小的图像 我想用图像填充imageview但是 保持比例(所以不要使用比例类型FITXY或centercrop因为它修剪了我的部分图像)
我该怎么做?
在此测试代码中,我的图像左侧和右侧有空格
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ImageView
android:id="@+id/imgTest"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:src="@drawable/test"
/>
答案 0 :(得分:0)
用矩阵和屏幕的高度/宽度解析
private Bitmap resize(Bitmap bm, int w, int h)
{
int width = bm.getWidth();
int height = bm.getHeight();
int newWidth = w;
int newHeight = h;
float scaleWidth = ((float) newWidth) / width;
float scaleHeight = ((float) newHeight) / height;
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
Bitmap resizedBitmap = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, true);
return resizedBitmap;
}
答案 1 :(得分:0)
试试这个:
<ImageView
android:id="@+id/imgTest"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:layout_alignParentLeft="true"
android:paddingRight="20dp"
android:scaleType="fitStart"
android:src="@drawable/test"/>