Adroid 之 ImageView属性详解

ImageView属性详解: 

注:测试图片比例为:156*135 

属性1: 
adnroid:scaleType ——>控制图片如何resized/moved来匹对  ImageView的size; 

android:scaleType值的含义以及效果示意图: 
* center 按图片本来的大小进行显示,当图片长/宽超过ImageView的固定长宽的时候则截取图片居中部分显示: 
xml源码: 
Java代码  收藏代码
  1. <ImageView   
  2.             android:src="@drawable/a"  
  3.             android:scaleType="centerInside"  
  4.             android:background="#7FFF00"  
  5.             android:layout_width="60dp"  
  6.             android:layout_height="90dp"  
  7.             />  

如图:1、长宽没有超过ImageView的时候: 

      2、长宽超过ImageView的时候: 


* centercrop 按比例扩大图片的size居中显示,使得图片长宽等于或大于ImageView的长(宽:并不能同时的满足);
Java代码  收藏代码
  1. xml源码:  
  2.     <ImageView   
  3.           android:src="@drawable/a"  
  4.           android:scaleType="centerInside"  
  5.           android:background="#7FFF00"  
  6.           android:layout_width="200dp"  
  7.           android:layout_height="300dp"  
  8.           />  

如图: 
1、 


* centerinside   将图片的内容完整居中显示,通过按比例缩小或原来的size使图片长宽等于或小于ImgeView的长(宽); 
xml源码: 
Java代码  收藏代码
  1. <ImageView   
  2.          android:src="@drawable/a"  
  3.          android:scaleType="centerInside"  
  4.          android:background="#7FFF00"  
  5.          android:layout_width="60dp"  
  6.          android:layout_height="90dp"  
  7.          />  

如图: 
1、 



* fitCenter  把图片按比例扩大/缩小到ImageView的宽度,居中显示:(和centerInside不同的是:fitCenter操作后只要一边满足要求即可; 
              即:操作后的(长/宽)size不可能大于View(长/宽)) 
* fitEnd     把图片按比例扩大/缩小到ImageView的宽度,显示在下方; 
* fitStart   把图片按比例扩大/缩小到ImageView的宽度,显示在上方; 
xml源码: 
Java代码  收藏代码
  1. android:scaleType="fitCenter"  
  2.          android:scaleType="fitStart"  
  3.          android:scaleType="fitEnd"  

效果图: 
1、 
2、 
3、 



* fitXY 把图片 不按比例 扩大/缩小到View的大小显示; 即:完全的填满了组件 
xml源码: 

效果图: 
1、


* matrix 用矩阵来绘制:(用途:用户可以对图片进行放大缩小的操作,具体代码java中实现) 
效果图: 
1、 


属性2:android:adjustViewBounds -->是否保持宽高比,需要结合maxWidth、MaxHeight一起使用 
否则单独使用没有效果; 

属性3:android:maxHeight -->设置View的最大高度,单独使用无效,需要与setAdjustView 
一起配合使用;例如如果想设置图片固定大小,又想保持图片宽高比, 
设置如下: 
* 设置setAdjustViewBounds为true; 
* 设置maxWidth 、MaxHeight 
* ImageView的宽度高度设为自定义; 

测试图片参数:697*1024
测试实现:最大的高度不超过80dp; 
xml源码: 
Java代码  收藏代码
  1. <ImageView  
  2.    android:layout_width="wrap_content"  
  3.    android:layout_height="wrap_content"  
  4.    android:background="#7FFF00"  
  5.    android:src="@drawable/c"   
  6.    android:adjustViewBounds="true"  
  7.    android:maxHeight="80dp"  
  8.    android:maxWidth="100dp"  
  9.    />  

        
    效果示意图: 
    

属性4:android:src  -->设置View的图片资源位置; 
属性5:android:tint -->将图片渲染成指定的颜色:
路漫漫其修远兮 吾将上下而求索
原文地址:https://www.cnblogs.com/hudabing/p/3081436.html