实习做的第一个项目是关于新闻App,做到浏览页时,ImageView 的上下间距太大,看起来很奇怪。用SetScaleType(
matrix,fitXY,fitStart,fitCenter,fitEnd,center,centerCrop,centerInside),一种种的试,发现都不行。最后发现ImageView有一个adjustViewBounds方法,只需要先把宽高设置为wrap_content,再把它设置为true以后
<ImageView
android:id="@+id/detailImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/load" />
再setBitmap之前设置最大最小宽高,这样图片就能刚好放在ImageView里面,就没有那么多留白的地方
今天又碰到狗血了 ,如果图片本身太小,也不能放那么大,因此还要加一个 图片放大缩小的
ImageLoader.getInstance().displayImage(AndroidUtils.getUrl(imageUrl[i],"_512"), imageView);
imageView.setMinimumWidth(Constant.width-80);
imageLayout.addView(v);
private Bitmap getRatioBitmap(Bitmap image,int width) {
int w = image.getWidth();
int h = image.getHeight();
// 计算缩放比例
float scaleWidth = ((float) width) / w;
float scaleHeight = scaleWidth;
// 取得想要缩放的matrix参数
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
// 得到新的图片
return Bitmap.createBitmap(image, 0, 0, w, h, matrix, true);
}