[Android] ImageView.ScaleType设置图解
2015-11-10 20:49
507 查看
ImageView的Scaletype决定了图片在View上显示时的样子,如进行何种比例的缩放,及显示图片的整体还是部分,等等。
设置的方式包括:1. 在layout xml中定义android:scaleType="CENTER"2. 或在代码中调用imageView.setScaleType(ImageView.ScaleType.CENTER);
接下来,将对ScaleType的值和对应的显示效果用最直观的方式——真图演示的方法,来进行说明。
首先,是测试使用的原始图片:
![](http://images2015.cnblogs.com/blog/824857/201511/824857-20151106125546477-1451189895.gif)
(Dimensions: 128 * 128)
![](http://images2015.cnblogs.com/blog/824857/201511/824857-20151106125550211-1020817852.gif)
(Dimensions: 640 * 428)
好,开始下面的测试:1. SetScaleType(ImageView.ScaleType.CENTER); 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示
![](http://images2015.cnblogs.com/blog/824857/201511/824857-20151106125550633-193539943.gif)
![](http://images2015.cnblogs.com/blog/824857/201511/824857-20151106125551102-1099917075.gif)
2. SetScaleType(ImageView.ScaleType.CENTER_CROP);
按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)
![](http://images2015.cnblogs.com/blog/824857/201511/824857-20151106125551602-1563263577.gif)
![](http://images2015.cnblogs.com/blog/824857/201511/824857-20151106125552524-1420172671.gif)
3. setScaleType(ImageView.ScaleType.CENTER_INSIDE); 将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽
![](http://images2015.cnblogs.com/blog/824857/201511/824857-20151106125552883-1610544389.gif)
![](http://images2015.cnblogs.com/blog/824857/201511/824857-20151106125553321-2117960865.gif)
4. setScaleType(ImageView.ScaleType.FIT_CENTER);
把图片按比例扩大/缩小到View的宽度,居中显示
![](http://images2015.cnblogs.com/blog/824857/201511/824857-20151106125553696-714132841.gif)
![](http://images2015.cnblogs.com/blog/824857/201511/824857-20151106125554305-942737771.gif)
5. FIT_START, FIT_END在图片缩放效果上与FIT_CENTER一样,只是显示的位置不同,FIT_START是置于顶部,FIT_CENTER居中,FIT_END置于底部。 在此就不给出示例了。
6. FIT_XY 不按比例缩放图片,目标是把图片塞满整个View。
![](http://images2015.cnblogs.com/blog/824857/201511/824857-20151106125554711-1777481069.gif)
设置的方式包括:1. 在layout xml中定义android:scaleType="CENTER"2. 或在代码中调用imageView.setScaleType(ImageView.ScaleType.CENTER);
接下来,将对ScaleType的值和对应的显示效果用最直观的方式——真图演示的方法,来进行说明。
首先,是测试使用的原始图片:
![](http://images2015.cnblogs.com/blog/824857/201511/824857-20151106125546477-1451189895.gif)
(Dimensions: 128 * 128)
![](http://images2015.cnblogs.com/blog/824857/201511/824857-20151106125550211-1020817852.gif)
(Dimensions: 640 * 428)
好,开始下面的测试:1. SetScaleType(ImageView.ScaleType.CENTER); 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示
![](http://images2015.cnblogs.com/blog/824857/201511/824857-20151106125550633-193539943.gif)
![](http://images2015.cnblogs.com/blog/824857/201511/824857-20151106125551102-1099917075.gif)
2. SetScaleType(ImageView.ScaleType.CENTER_CROP);
按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)
![](http://images2015.cnblogs.com/blog/824857/201511/824857-20151106125551602-1563263577.gif)
![](http://images2015.cnblogs.com/blog/824857/201511/824857-20151106125552524-1420172671.gif)
3. setScaleType(ImageView.ScaleType.CENTER_INSIDE); 将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽
![](http://images2015.cnblogs.com/blog/824857/201511/824857-20151106125552883-1610544389.gif)
![](http://images2015.cnblogs.com/blog/824857/201511/824857-20151106125553321-2117960865.gif)
4. setScaleType(ImageView.ScaleType.FIT_CENTER);
把图片按比例扩大/缩小到View的宽度,居中显示
![](http://images2015.cnblogs.com/blog/824857/201511/824857-20151106125553696-714132841.gif)
![](http://images2015.cnblogs.com/blog/824857/201511/824857-20151106125554305-942737771.gif)
5. FIT_START, FIT_END在图片缩放效果上与FIT_CENTER一样,只是显示的位置不同,FIT_START是置于顶部,FIT_CENTER居中,FIT_END置于底部。 在此就不给出示例了。
6. FIT_XY 不按比例缩放图片,目标是把图片塞满整个View。
![](http://images2015.cnblogs.com/blog/824857/201511/824857-20151106125554711-1777481069.gif)
![](http://images2015.cnblogs.com/blog/824857/201511/824857-20151106125555571-1568383577.gif)
相关文章推荐
- Android开发过程中内存泄露检测
- android:json解析库的选择
- ubuntu创建wifi热点(android可识别)
- Android studio安装配置常见问题及其解决方案
- Android 中的dp,px,pt,sp比较
- android sqllite数据库使用详解
- Android启动过程深入解析
- 电容屏/电阻屏Android虚拟按键实现的两种方法
- Android的消息机制
- Android签名INSTALL_PARSE_FAILED_NO_CERTIFICATES问题
- Android中服务端代码如何导入工程当中
- Android点击EditText文本框之外任何地方隐藏键盘的解决办法
- 深入浅出Android Support Annotation(什么是android.support.annotation.NonNull的拓展)【转】
- Android快速SDK(10)地址库Location【傻瓜模式】
- Android点滴(一)
- Android快速SDK(9)下载库DownLoad【傻瓜模式】
- A-1 Android简介
- android杂项记录
- android两种方式生成keystore
- Android中常用的位图操作(View与Bitmap转化、圆角、灰化、提取Alpha、旋转、倒影、剪切……)