属性
- androld:sre 设置图片资源
- android:scaleType 设置图片缩放类型
- android:maxHeight 最大高度
- android:maxwidth 最大宽度
- android:adjustViewBounds 调整View的界限
备注 - maxHeight、maxWidth、:adjustViewBounds 三个配合使用,是图片
大小和ImageView相同(即图片按照ImageView的maxHeight、maxWidth缩放后。然后ImageView按照缩放后图片收缩边界) - 欲使用maxHeight、maxWidth、:adjustViewBounds属性:layout_width、layout_Height设置为wrap_content
缩放类型
- ftstat保持宽高比縮放图片,直到较长的边与Image的边长相等縮放完成后将图片放在ImageView的左上角
- fitCenter默认值,同上,缩放后放于中间 fEnd同上,缩放后放于右下角
- fitXY对图像的横纵方向进行独立缩放,使得该图片完全适应ImageView,但是图片的宽高比可能会发生改变
- center保持原图的大小,显示在ImageView的中心。 当原图的sire大于ImageView的size, 超过部分裁剪处理。
- centerCrop保持宽高比缩放图片,直到完全覆盖ImageView,可能会出现图片的显示不完全
- centerlnside保持宽高比縮放图片,直到ImageView能够完全 地显示图片
- matrx不改变原图的大小,从ImageView的左上角开始绘制原图,原图超过ImageView的 部分作裁剪处理
备注:fitCenter 和 centerlnside针对大于ImageView 的图片效果相同。但是针对小图有区别:fitCenter 会放大,centerlnside是直接显示,不放大。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<ImageView
android:src="@drawable/ic_logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:scaleType="fitCenter"
android:maxWidth="200dp"
android:maxHeight="200dp"
android:adjustViewBounds="true"
/>
<!-- 这里其他代码省略 -->
</LinearLayout>
效果图