ImageView继承自View

android:background 设置图片

android:src 设置图片

background和src都可以设置图片,它们之间的区别:

background指的是背景,src指的是内容。

在使用src填入图片时,是按照图片大小直接填,不会改变图片的大小,而使用background,则会根据ImageView给定的宽度进行拉伸。

当使用src时,如果图片在ImageView里面放不下,则图片会等比例缩小到合适大小再显示,在图片的缩小过程中保持了长宽比,缩小后默认放在ImageView的中央位置,此时设置adjustViewBounds为true或false不影响图片的缩放。此时由于图片是处于缩放状态下,所以此时设置图片的maxHeight和maxWidth都是无效的。此时的scaleType默认是fitCenter(因为图片默认放在中央位置),可以通过设置scaleType为fitStart或fitEnd分别将图片放于ImageView的左上角或右下角。

当图片可以在不缩放的情况下存在于ImageView时,图片会默认居中显示,此时可以通过设置 adjustViewBounds、maxHeight和maxWidth来控制图片的缩放。

scaleType属性

说明

fitStart

保持纵横比缩放图片,直到较长的边与Image的边长相等,缩放完成后将图片放在ImageView的左上角

fitCenter

同上,缩放后放于中间(默认)

fitEnd

同上,缩放后放于右下角

centerCrop

按横纵比缩放,直接完全覆盖整个 ImageView

centerInside

按横纵比缩放,使得 ImageView 能够完全显示这个图片

fitXY

不按比例缩放图片,目标是把图片塞满整个 View

matrix

ImageView 的左上角开始绘制原图,原图超过 ImageView 的部分作裁剪处理

center

保持原图的大小,显示在 ImageView 的中心,当原图的 size 大于 ImageView 的 size,超过部分裁剪处理

alpha属性:设置透明度

adjustViewBounds属性:设置是否保持长宽比

adjustViewBounds属性用于设置缩放时是否保持原图长宽比,单独设置不起作用,需要配合 maxWidth 和 maxHeight 属性一起使用,而后面这两个属性也是需要 android:adjustViewBounds 为 true 才会生效,三者是共生关系。

https://www.twle.cn/l/yufei/android/android-basic-imageview.html