属性1:
adnroid:scaleType ——>控制图片如何resized/moved来匹对 ImageView的size;
android:scaleType值的含义以及效果示意图:
* center 按图片本来的大小进行显示,当图片长/宽超过ImageView的固定长宽的时候则截取图片居中部分显示:
xml源码:
<ImageView android:src="@drawable/a"
android:scaleType="centerInside"
android:background="#7FFF00"
android:layout_width="60dp"
android:layout_height="90dp" />
如图:
1、长宽没有超过ImageView的时候:
2、长宽超过ImageView的时候:
centercrop 按比例扩大图片的size居中显示,使得图片长宽等于或大于ImageView的长(宽:并不能同时的满足);
xml源码:
<ImageView
android:src="@drawable/a"
android:scaleType="centerInside"
android:background="#7FFF00"
android:layout_width="200dp"
android:layout_height="300dp"
/>
centerinside 将图片的内容完整居中显示,通过按比例缩小或原来的size使图片长宽等于或小于ImgeView的长(宽);
xml源码:
<ImageView
android:src="@drawable/a"
android:scaleType="centerInside"
android:background="#7FFF00"
android:layout_width="60dp"
android:layout_height="90dp"
/>
1、 fitCenter 把图片按比例扩大/缩小到ImageView的宽度,居中显示:(和centerInside不同的是:fitCenter操作后只要一边满足要求即可;
* fitStart 把图片按比例扩大/缩小到ImageView的宽度,显示在上方;
xml源码:
android:scaleType="fitCenter"
android:scaleType="fitStart"
android:scaleType="fitEnd"
matrix 用矩阵来绘制:(用途:用户可以对图片进行放大缩小的操作,具体代码java中实现)
属性2:android:adjustViewBounds –>是否保持宽高比,需要结合maxWidth、MaxHeight一起使用否则单独使用没有效果;
属性3:android:maxHeight –>设置View的最大高度,单独使用无效,需要与setAdjustView
一起配合使用;例如如果想设置图片固定大小,又想保持图片宽高比,
设置如下:
* 设置setAdjustViewBounds为true;
* 设置maxWidth 、MaxHeight
* ImageView的宽度高度设为自定义;
测试图片参数:697*1024
测试实现:最大的高度不超过80dp;
xml源码:
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#7FFF00"
android:src="@drawable/c"
android:adjustViewBounds="true"
android:maxHeight="80dp"
android:maxWidth="100dp"
/>
属性4:android:src=””
设置View的drawable(如图片,也可以是颜色,但是需要指定View的大小)
属性5:android:tint=”” 将图片渲染成指定的颜色,添加一个蒙版