我有一个宽度和高度match_parent wrap_content的ImageView。当我设置大小为 1080x500 的图像时,ImageView 占据了整个屏幕的宽度,但由于某种原因占用了额外的高度空间。我知道 AdjustViewbounds,但我想知道为什么 imageView 会占用额外的高度空间。我有一部 Pixel 手机 (1080x1920(。
这是我的布局
看看这个 https://developer.android.com/reference/android/widget/ImageView.ScaleType.html
CENTER_CROP 均匀缩放图像(保持图像的纵横比(,以便图像的两个尺寸(宽度和高度(等于或大于视图的相应尺寸(减去填充(。
CENTER_INSIDE 均匀缩放图像(保持图像的纵横比(,以便图像的两个尺寸(宽度和高度(等于或小于视图的相应尺寸(减去填充(。
FIT_CENTER 使用 Matrix.ScaleToFit.CENTER 缩放图像
Matrix.ScaleToFit.CENTER:计算一个比例,该比例将保持原始的 src 纵横比,但也将确保 src 完全适合 dst。至少有一个轴(X 或 Y(将完全适合。结果以 dst 为中心。
FIT_END 使用 Matrix.ScaleToFit.END 缩放图像
Matrix.ScaleToFit.END:计算一个比例,该比例将保持原始的src纵横比,但也将确保src完全适合dst。至少有一个轴(X 或 Y(将完全适合。END 将结果与 dst 的右边缘和下边缘对齐。
FIT_START 使用 Matrix.ScaleToFit.START 缩放图像
Matrix.ScaleToFit.START:计算一个比例,该比例将保持原始的 src 纵横比,但也将确保 src 完全适合 dst。至少有一个轴(X 或 Y(将完全适合。START 将结果与 DST 的左边缘和上边缘对齐。
FIT_XY 使用 Matrix.ScaleToFit.FILL 缩放图像
Matrix.ScaleToFit.FILL:独立缩放 X 和 Y,以便 src 与 dst 完全匹配。这可能会更改 src 的纵横比。
矩阵 绘制时使用图像矩阵进行缩放。