图片说明Andorid中ImageView的不同属性ScaleType的区别

本文深入探讨了Android中的基础图片显示控件ImageView及其关键属性ScaleType的作用,通过实验展示了不同ScaleType取值对于图片显示效果的影响,并以竖版和横版图片为例,具体说明了各取值的实现效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ImageView是Android中的基础图片显示控件,该控件有个重要的属性是ScaleType,该属性用以表示显示图片的方式,共有8种取值ScaleType.CENTER, ScaleType.CENTER_CROP, ScaleType.CENTER_INSIDE, ScaleType.FIT_CENTER, ScaleType.FIT_END, ScaleType.FIT_START, ScaleType.FIT_XY, ScaleType.MATRIX。这8种取值中,最后一种MATRIX是根据一个3x3的矩阵对其中图片进行缩放。我们这里主要看前七种的用法,也算一个备忘。

 

这里的实验选取的ImageView宽高均为150dp。选取的图片有两张,一张大小为400x589的竖版,另一张为60x43的横版。结果如下:


CENTER:图片大小为原始大小,如果图片大小大于ImageView控件,则截取图片中间部分,若小于,则直接将图片居中显示。

 

CENTER_CROP:将图片等比例缩放,让图像的短边与ImageView的边长度相同,即不能留有空白,缩放后截取中间部分进行显示。


 

CENTER_INSIDE:将图片大小大于ImageView的图片进行等比例缩小,直到整幅图能够居中显示在ImageView中,小于ImageView的图片不变,直接居中显示。


 

FIT_CENTER:ImageView的默认状态,大图等比例缩小,使整幅图能够居中显示在ImageView中,小图等比例放大,同样要整体居中显示在ImageView中。


 

FIT_END:缩放方式同FIT_CENTER,只是将图片显示在右方或下方,而不是居中。


 

FIT_START:缩放方式同FIT_CENTER,只是将图片显示在左方或上方,而不是居中。


 

FIT_XY:将图片非等比例缩放到大小与ImageView相同。


 

转载:http://jameszhao84.iteye.com/blog/1397611

Android 中,ImageView 的最大像素大小可以通过设置 ImageView 的 maxWidth 和 maxHeight 属性来限制。这些属性指定了 ImageView 可以显示的最大宽度和高度,当 ImageView 中的图片超过这个值时,Android 系统会自动缩放图片以适应这个大小。 另外,如果你想要限制 ImageView 中图片的实际像素大小,可以在加载图片时使用 BitmapFactory 来读取图片的原始信息,并根据需要缩放图片。例如,下面的代码可以读取一个图片文件的原始信息,并将图片缩放到指定的最大像素大小: ```java BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeFile(filePath, options); int imageHeight = options.outHeight; int imageWidth = options.outWidth; int maxSize = 1024; // 指定最大像素大小 if (imageHeight > maxSize || imageWidth > maxSize) { float ratio = Math.max((float) imageWidth / maxSize, (float) imageHeight / maxSize); options.inSampleSize = Math.round(ratio); } options.inJustDecodeBounds = false; Bitmap bitmap = BitmapFactory.decodeFile(filePath, options); imageView.setImageBitmap(bitmap); ``` 在这个例子中,我们首先使用 options.inJustDecodeBounds = true 来告诉 BitmapFactory 只读取图片的原始信息,不加载整个图片。然后,我们可以从 options.outHeight 和 options.outWidth 属性获取图片的原始大小。接下来,我们根据指定的最大像素大小 maxSize,计算出需要缩放的比例 ratio,并将其设置为 options.inSampleSize 属性,最后使用 BitmapFactory.decodeFile 方法读取缩放后的图片。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值