关于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. selenium中javascript调试
  2. 2.Maven特点,Maven约定,建立第一个Maven项目
  3. python 打开某个exe_python定时检查启动某个exe程序(如果exe挂了)
  4. Asp.net mvc中使用配置Unity
  5. java process exe.exec 执行exe程序
  6. wpf 切换搜狗输入法英文_CPA《财管》考试,没时间按计算器,用搜狗V模式,真香!...
  7. Poi实现Excel的导入
  8. 来字节一月了,四个字:翻天覆地
  9. 【计算机网络自顶向下方法】深入理解计算机网络分层和封装模型
  10. 朋友圈加粗字体数字_如何让你的朋友圈骚到脱颖而出?
  11. 《App后台开发运维和架构实践》勘误
  12. 文件批量提取工具,从大量文件中批量提取指定文件的实现思路,文件批量复制
  13. 工作日志之Sonar扫描错误处理-Sonar扫描结果入库 java.sql.BatchUpdateException: Incorrect string value: '\xF3\xA3\xAC\xB
  14. 易优CMS:uichannel的基础用法
  15. sap 物料MIGO入库时[有关业务/事件类型WA在年2017的号码范围不存在]的解决方法
  16. 六大文库原格式下载,这可能是唯一免费且好用的工具了
  17. web服务端和游戏服务端的区别
  18. 开学季,孩子们怎么学习?
  19. Thymeleaf模板使用实例+模板分页
  20. 在RStudio中更新R版本

热门文章

  1. ZFNet: Visualizing and Understanding Convolutional Networks
  2. spring boot 2.0 与FASTDFS进行整合
  3. CentOS7安装PostgreSQL10,pgadmin4
  4. bzoj4974 字符串大师
  5. DAG镶嵌模型+原始路径打印
  6. 利用Xcode建立PhoneGap应用程序环境
  7. 今天主要改了罗宾钢琴的首页图片缩放问题
  8. 20190820 On Java8 第十章 接口
  9. Chap6:风险与监督[《区块链中文词典》维京甲子]
  10. 51单片机的初了解(4)