ImageView的src 和background区别:
background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸。src是图片内容(前景),bg是背景,可以同时使用。

此外:scaleType只对src起作用;bg可设置透明度,比如在ImageButton中就可以用Android:scaleType控制图片的缩放方式,示例代码如下:

   <ImageView android:id="@+id/img" android:src="@drawable/logo"android:scaleType="centerInside"android:layout_width="60dip"android:layout_height="60dip"android:layout_centerVertical="true"/>

ImageView的scaleType的属性有好几种,分别是matrix(默认)、center、centerCrop、centerInside、fitCenter、fitEnd、fitStart、fitXY

Android:scaleType="center"    //(这个也可以)

保持原图的大小,显示在ImageView的中心。当原图的size大于ImageView的size,超过部分裁剪处理。

android:scaleType="centerCrop"
//(一般固定尺寸,撑满size,不变形用这个)

以填满整个ImageView为目的,将原图的中心对准ImageView的中心,等比例放大原图,直到填满ImageView为止(指的是ImageView的宽和高都要填满),原图超过ImageView的部分作裁剪处理。

android:scaleType="centerInside"

以原图完全显示为目的,将图片的内容完整居中显示,通过按比例缩小原图的size宽(高)等于或小于ImageView的宽(高)。如果原图的size本身就小于ImageView的size,则原图的size不作任何处理,居中显示在ImageView。

android:scaleType="matrix"

不改变原图的大小,从ImageView的左上角开始绘制原图,原图超过ImageView的部分作裁剪处理。

android:scaleType="fitCenter"

把原图按比例扩大或缩小到ImageView的ImageView的高度,居中显示

android:scaleType="fitEnd"

把原图按比例扩大(缩小)到ImageView的高度,显示在ImageView的下部分位置

android:scaleType="fitStart"

把原图按比例扩大(缩小)到ImageView的高度,显示在ImageView的上部分位置

android:scaleType="fitXY"

把原图按照指定的大小在View中显示,拉伸显示图片,不保持原比例,填满ImageView.

下面附上效果图:

原图为Pocoyo的头像,上图为原图的size大于ImageView的size,下图为原图的size小于ImageView的size

Tip:很多人都觉得fitCenter和centerInside没有区别,根据上面的效果图来分析,其实是有区别的。fitCenter是将原图等比例放大或缩小,使原图的高度等于ImageView的高度,并居中显示,而centerInside在原图的原本size大于ImageView的size时,则缩小原图,效果同fitCenter;在原图的原本size小于ImageView的size时,则不进行任何size处理,居中显示,效果同center。

ImageView的android:adjustViewBounds属性为是否保持原图的长宽比,单独设置不起作用,需要配合maxWidth或maxHeight一起使用。

原地址:http://blog.csdn.net/u012553125/article/details/52304814

ImageView图片不变形相关推荐

  1. android imageview图片失真,imageView 图片变形失真

    在开发当中有时会有这样的需求,将从服务器端下载下来的图片添加到imageView上, 但是下载来的图片尺寸大小不固定,宽高也有可能不成比例, 如果我们直接显示,往往会发现图片被挤压,或者变形失真,如果 ...

  2. 去除主页ImageView图片的上下空白

    去除主页ImageView图片的上下空格Android 加这一行:  android:scaleType="fitXY" //去除主页ImageView图片的上下空格

  3. python 批量处理图片文件(做到图片不变形)

    对此次项目中主要涉及到的内容做以下说明: 1.需要收集大量资料(包括收集不同信息和图片): 2.资料太多需要做同样的操作处理(包括修改文件名和修改图片尺寸). 一.修改文件名 import os os ...

  4. imageView图片放大缩小及旋转

    imageView图片放大缩小及旋转 一.简介 二.方法 1)设置图片放大缩小效果 第一步:将<ImageView>标签中的android:scaleType设置为"fitCen ...

  5. android 布局 缩小图片大小,三大布局的基本摆放属性总结,以及imageVIew图片摆放的缩放问题...

    (一)三大布局 1.FrameLayout帧布局 Android中最简单的一种布局,默认都是放在帧布局的左上角,通过android:layout_gravity来决定子控件的位置 2.LinearLa ...

  6. Android ImageView 图片拉伸,填满控件

    https://blog.csdn.net/zhouyingge1104/article/details/50535123 android:adjustViewBounds="true&qu ...

  7. css如何控制图片不变形?

    在做网页时会遇到许多的问题,有的时候会遇到图片变形的问题,我们该如何通过css控制图片不变形呢?下面我们来看一下通过css控制图片不变形的方法. 如果想要图片不变形就是设置max-height或者ma ...

  8. 安卓自定义view中 绘画基本图形点线面,矩形,方形,圆,扇形,文字及沿着特定方向布局,自定义圆角ImageView图片等等相关api使用方法及举例

    安卓自定义view中 绘画基本图形点线面,矩形,方形,圆,扇形,文字及沿着特定方向布局,自定义圆角ImageView图片等等相关api使用方法及举例,图片压缩处理逻辑 本文旨在介绍自定义View的实现 ...

  9. Android ImageView 图片靠右,靠左处理

    ImageView 图片靠右,靠左处理 相信在工作中很多人都会遇到ImageView需要图片靠左和靠右,典型的案例就是悬浮窗缩进的小图片,前几天在工作中遇到,随手一记. 简单介绍下布局文件 <? ...

最新文章

  1. hibernate Expression详解
  2. configure: error: mcrypt.h not found. Please reins
  3. php 检测是否是微信浏览器,php判断是否是微信浏览器和是否是移动端代码
  4. python【Matlibplot绘图库】-认识Matploblib
  5. 《openssl编程》之基础知识
  6. 小米盒子老是服务器无响应,教你解决小米盒子黑屏死机等故障解决办法!
  7. hadoop的Map阶段的四大步骤
  8. 387. First Unique Character in a String
  9. 201521123014 《Java程序设计》第8周学习总结
  10. Sum of AP series——AP系列之和
  11. SpringBoot与Docker集成
  12. [译]R语言——Shiny框架之构建(一):1.结构——1.独立应用程序——2.双文件式Shiny应用
  13. LeetCode 109. Convert Sorted List to Binary Search Tree
  14. 别信了大佬的“鬼话”,想造无人驾驶到底进展如何吗?
  15. c语言,指针与数组--指针与二维数组2
  16. VISIO—如何打开?及安装教程
  17. Linux C/C++实现时间戳转换工具
  18. 怎么接微信公众号人工服务器,怎么设置微信公众号接入人工客服?
  19. 20000条笑话保证笑死你
  20. 局域网同步服务器系统时间,局域网中如何设置系统时间与服务器同步

热门文章

  1. 汽车库存进出管理系统
  2. Winform实现类似Viso的简单的流程图
  3. 华为解锁账号工具_Redmi 10X 5G版手机怎么一键快速解锁BootLoader-解锁BL教程
  4. w10运行游戏计算机中丢失xinput1-3.dll,丢失xinput1_3.dll文件的解决方法
  5. php实现手机归属地的查询,PHP实现手机归属地查询API接口
  6. MySQL数据库的使用与ODBC数据源的建立
  7. Palm OS系统简介
  8. 计算机课程考试质量分析,计算机考试质量分析.pdf
  9. 从K歌使用的鼓起 看数字音乐平台趋向
  10. Shape of passed values is (230999, 1), indices imply (230999, 3)