欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Adroid 之 ImageView属性详解

程序员文章站 2022-06-08 23:54:19
...
ImageView属性详解:
注:测试图片比例为:156*135

属性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"
/>

如图:
1、


* 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操作后只要一边满足要求即可;
即:操作后的(长/宽)size不可能大于View(长/宽))
* fitEnd 把图片按比例扩大/缩小到ImageView的宽度,显示在下方;
* fitStart 把图片按比例扩大/缩小到ImageView的宽度,显示在上方;
xml源码:
 android:scaleType="fitCenter"
android:scaleType="fitStart"
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源码:
		   <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的图片资源位置;
属性5:android:tint -->将图片渲染成指定的颜色:
相关标签: android ImageView