关于android中ImageView的外观,即图片在其内显示出的样子,与布局文件中adjustViewBonds和scaleType
属性的关系。我进行了一些探索。现跟大家共享,欢迎各位指教。分别将adjustViewBonds设为true和false,与各种scaleType搭配,产生了不同效果。(上面的ImagView的adjstViewBonds值为false;下面的ImagView的adjstViewBonds值为true;两个ImagView大小相同)如下:

代码:

Xml代码  
  1. <ImageView
  2. android:id="@+id/imageView1"
  3. android:layout_width="fill_parent"
  4. android:layout_height="200dip"
  5. android:adjustViewBounds="false"
  6. android:scaleType="centerInside"//此处每次更改
  7. android:src="@drawable/ic_3" />//此处两幅图间更改,一副图的大小较小,另一幅的较大。
  8. <ImageView
  9. android:id="@+id/imageView2"
  10. android:layout_width="fill_parent"
  11. android:layout_height="200dip"
  12. android:adjustViewBounds="true"
  13. android:scaleType="centerInside"//此处每次更改
  14. android:src="@drawable/ic_3" />//此处两幅图间更改,一副图的大小较小,另一幅的较大。

原图:


1、scaleType=“matrix”
如图pic1、pic2.
是保持原图大小、从左上角的点开始,以矩阵形式绘图。

pic1
 

pic2
 
2、scaleType=“fitXY”
如图pic3、pic4.
是将原图进行横方向(即XY方向)的拉伸后绘制的。

pic3
 

pic4
 
3、scaleType=“fitStart”
如图pic5、pic6。
是将原图沿左上角的点(即matrix方式绘图开始的点),按比例缩放原图绘制而成的。

pic5
 

pic6
 
4、scaleType=“fitCenter”
如图pic7、pic8。
是将原图沿上方居中的点(即matrix方式绘图第一行的居中的点),按比例缩放原图绘制而成的。

pic7
 

pic8
 
5、scaleType=“fitEnd”
如图pic9、pic10。、
是将原图沿下方居中的点(即matrix方式绘图最后一行的居中的点),按比例缩放原图绘制而成的。

pic9
 

pic10
 
6、scaleType=“Center”
如图pic11、pic12。
是保持原图大小,以原图的几何中心点和ImagView的几何中心点为基准,只绘制ImagView大小的图像。

pic11
 
 pic12
 
7、scaleType=“centerCrop”
如图pic13、pic14。
不保持原图大小,以原图的几何中心点和ImagView的几何中心点为基准,只绘制ImagView大小的图像(以填满
ImagView为目标,对原图进行裁剪)。

pic13
 

pic14
 
8、scaleType=“centerInside”
如图pic15、pic16.
不保持原图大小,以原图的几何中心点和ImagView的几何中心点为基准,只绘制ImagView大小的图像(以显示
完整图片为目标,对原图进行缩放)。

pic15
 

pic16

(事实证明,adjustViewBonds单独设置无影响。)

依本人之见,scaletype的种类分为三类matrix(默认)、fit-X类、和center类。matrix就不多说。fit-X类中,
fitStart、fitCenter和fitEnd之间的都是根据需要使原图改变对ImgView进行适应,按matrix进行绘制,但它们
的区别在于基准不同。fitStart的基准为最上角的点(即matrix方式开始的点)fitCenter的基准点为中间的点
(matrix方式中可以使图片居中的点),而fitEnd的基准点为右下角的点(即matrix方式最后绘制点)。center类
中,center、centerCrop、centerInside都是以原图的几何中心点和ImagView的几何中心点为基准,且只绘制
ImagView大小的图像,不同的是是否保持原图大小和绘图的目标不同、采取的手段不同。

转载于:https://www.cnblogs.com/tc310/p/3952460.html

保持长宽比 对背景图像进行修改android:scaleType=fitXY相关推荐

  1. (转载)android:visibility和android:scaleType 属性

    1.android:visibility="gone" 其有三个属性:visible显示:invisible显示黑背景条:gone不显示 2.android:scaleType属性 ...

  2. android:scaletype没作用,ImageView的属性android:scaleType的作用分析

    在网上查了好多资料,大致都雷同,大家都是互相抄袭的,看着很费劲,不好理解,自己总结一下,留着需要看的话来查找. 代码中的例子如下: android:id="@+id/iv_bit_1&quo ...

  3. android:scaleType=matrix布局文件加载图片时候的显示方式

    android:scaleType="center" 以原图的几何中心点和ImagView的几何中心点为基准,按图片的原来size居中显示,不缩放,当图片长/宽超过View的长/宽 ...

  4. android:scaleType 属性介绍

    android:scaleType="center"  (不完整显示,按View剪裁) 以原图的几何中心点和ImagView的几何中心点为基准, 按图片的原来size居中显示,不缩 ...

  5. Android scaleType属性

    转自:https://blog.csdn.net/lirui0822/article/details/38423423 1.android:scaleType="center" ( ...

  6. android scaletype没作用,Android ImageView的ScaleType属性

    参考 ScaleType属性 常量 含义 fitXY 横向.纵向独立缩放,以适应该ImageView fitCenter 保持纵横比缩放图片,缩放完成后将图片放在ImageView的中央 fitSta ...

  7. android scaletype没作用,Android源码系列之深入理解ImageView的ScaleType属性

    做Android开发的童靴们肯定对系统自带的控件使用的都非常熟悉,比如Button.TextView.ImageView等.如果你问我具体使用,我会给说:拿ImageView来说吧,首先创建一个新的项 ...

  8. 修改Android开机画面

    Android系统开机动画包括两部分: 开机显示的 ANDROID 文字: ANDROID发光动画. 这篇文章说的开机动画是第一种,下面开始正文!1. 制作当前屏幕像素的图片(模拟器默认为320*48 ...

  9. android:scaleType属性说明

    目录 一. ScaleType属性的八种缩放规则说明 二. ScaleType属性的八种缩放效果图演示 三. ImageView.ScaleType自定义缩放规则,等比缩放,完整显示,拒绝变形 四. ...

  10. Android系统移植与调试之-------如何修改Android设备添加重启、飞行模式、静音模式等功能(一)...

    1.首先先来看一下修改前后的效果对比图 修改之后的图片 确认重启界面 具体的修改内容在下一篇中具体介绍. Android系统移植与调试之------->如何修改Android设备添加重启.飞行模 ...

最新文章

  1. linux关于tcp协议ack的实现--发送端对ack的处理
  2. 为你的亚马逊S3 bucket加个安全盖
  3. 使用 Karma、Mocha、Chai 搭建支持 ES6 的测试环境
  4. 国外的幼儿数学竟然这样出题?来测测你的孩子都会做吗?
  5. java 拼图_拼图项目的诅咒:为什么Java 9一遍又一遍地延迟?
  6. 028-进阶(网络编程)
  7. 【动态规划】LeetCode 377. Combination Sum IV
  8. Phase2 Day10 Tree3Set
  9. 好未来 Dolphin-儿童口语表达能力AI自动评测:顶尖AI算法技术与教育理念的有机结合 | 百万人学AI评选
  10. 老徐小程序之小程序怎么选?
  11. 数学建模拿到赛题后怎么办及一些(“歪门邪道”)小技巧——赛前必看
  12. C++查询文本中所有单词出现的频率,并且根据出现次数由多到少依次排列。
  13. k8s组件的梳理,Glide的缓存机制
  14. Exchange 2019数据库切换
  15. 【极坐标下牛顿—拉夫逊潮流计算(matlab版+python版)】
  16. 通过FAR计算fRR
  17. [转]IIS网站真正301重定向的方法(任意页面,含问号参数)
  18. java调银企互联接口_银企互联NC中间件(演示:.NET、Java、Php、Python)
  19. PowerPoint让你快速成为PS高手——抠图
  20. 传感器技术—电容式传感器的测量转换电路(学习笔记七 补充)

热门文章

  1. 算法设计和数据结构学习_2(常见排序算法思想)
  2. 用CentOS 6快速配置一台企业级Web代理服务器
  3. 针对Micro Framework 3.0模拟器进行改造方法(浅谈)
  4. Windows2003 WINS 服务
  5. linux下source filename,./filename,. filename,......
  6. Java魔法堂:解读基于Type Erasure的泛型
  7. 关于android的各种disk images(看过的讲android image比较细致的好文)
  8. 配置Apache支持
  9. 嵌入Windows User Control到ASP.NET web form
  10. 洛谷 P1090 合并果子