`

【android】scaleType属性与ImagView中图片的显示的关系

阅读更多

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

代码:

<ImageView
        android:id="@+id/imageView1"
        android:layout_width="fill_parent"
        android:layout_height="200dip"
        android:adjustViewBounds="false"
        android:scaleType="centerInside"//此处每次更改
        android:src="@drawable/ic_3" />//此处两幅图间更改,一副图的大小较小,另一幅的较大。

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="fill_parent"
        android:layout_height="200dip"
        android:adjustViewBounds="true"
        android:scaleType="centerInside"//此处每次更改
        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大小的图像,不同的是是否保持原图大小和绘图的目标不同、采取的手段不同。

  • 大小: 30.5 KB
  • 大小: 38.1 KB
  • 大小: 38.4 KB
  • 大小: 125.2 KB
  • 大小: 119.1 KB
  • 大小: 132.7 KB
  • 大小: 73 KB
  • 大小: 82.8 KB
  • 大小: 75 KB
  • 大小: 46.6 KB
  • 大小: 74.2 KB
  • 大小: 84.5 KB
  • 大小: 40.8 KB
  • 大小: 135.5 KB
  • 大小: 132.5 KB
  • 大小: 122.6 KB
  • 大小: 39.4 KB
  • 大小: 88.7 KB
9
0
分享到:
评论
7 楼 baiqiuhanzb 2014-03-28  
我试验了多次
fitCenter跟centerInside没看出有什么区别
6 楼 work_asdf 2013-05-08  
不错,学习了
5 楼 faithmy509 2013-01-05  
非常不错,thx
4 楼 284772894 2012-12-03  
学习了,不错
3 楼 doctorkkkk 2012-11-05  
谢谢 受教了
2 楼 yangdeli 2012-09-10  
赞一个!真心不错!~
1 楼 yinIdiots11 2012-09-04  
赞  实践证明一切

相关推荐

    ImageView android:scaleType的属性

    ImageView 图片显示样式的几种类型。android:scaleType是控制图片如何resized/moved来匹对ImageView的size。

    android scaleType用法介绍

    为了更好地控制图片在`ImageView`中的显示方式,Android提供了一个非常实用的属性——`scaleType`。通过设置不同的`scaleType`值,可以实现图片的各种缩放效果,满足不同场景的需求。 #### 二、ScaleType 属性详解 ...

    ImageView的scaleType属性练习

    在Android开发中,ImageView是用于显示图像的常见组件。它具有丰富的功能,其中之一就是通过`scaleType`属性来控制图片的缩放方式。这个属性决定了图片如何适应ImageView的大小,对于UI设计和用户体验有着重要的影响...

    图解说明android中ImageView的scaletype属性.pdf

    理解并合理运用这些`android:scaleType`属性,可以让你在设计UI时更好地控制图片的显示效果,满足各种布局需求。在实际开发中,可以根据界面设计和用户体验来选择合适的设置,确保图片在不同设备和屏幕尺寸上都有...

    图解说明android中ImageView的scaletype属性.rar

    在Android开发中,ImageView是用于显示图像的常见组件,它具有丰富的功能,其中之一就是通过`scaletype`属性来控制图像的缩放方式。这个属性允许开发者根据需求调整图像在ImageView中的显示效果,以达到最佳的视觉...

    图解说明android 中ImageView的scaletype属性.pdf

    在Android开发中,ImageView是用于显示图像的常见组件。它具有一个重要的属性——`android:scaleType`,这个属性决定了图像如何适应或者填充ImageView的空间。理解并熟练掌握这个属性的用法,对于优化UI设计和图像...

    图片说明Andorid中ImageView的不同属性ScaleType的区

    为了适应不同尺寸的图像和用户界面需求,`ImageView`提供了一个关键属性——`ScaleType`,它定义了图片如何在`ImageView`内调整大小和定位。本文将详细探讨`ScaleType`的7种主要类型,并通过实例说明它们的差异。 1...

    Android 中ImageView的ScaleType使用方法

    ImageView的ScaleType属性,表示的是ImageView中资源图片的填充方式。scaleType的属性值有好几种,分别是: matrix(默认) center centerCrop centerInside fitCenter fitEnd fitStart fitXY 这里要注意:...

    Android开发中ImageView的scaletype属性用法分析

    本文实例讲述了Android开发中ImageView的scaletype属性用法。分享给大家供大家参考,具体如下: ImageView的属性android:scaleType,即 ImageView.setScaleType(ImageView.ScaleType)。android:scaleType是控制图片...

    Android全屏图片显示

    在Android开发中,全屏显示图片是一个常见的需求,比如在壁纸应用、相册应用或者一些游戏的启动界面中。要实现这样一个功能,开发者需要考虑图片的加载、布局填充、缩放处理以及性能优化等多个方面。下面我们将详细...

    Android Big Image showing Android超大图片显示

    在Android开发中,处理大图显示是一个常见的挑战。"Android Big Image showing" 是一个专门针对这一问题的应用示例,它展示了如何优雅地处理超大图片的显示,包括拖动、多点触控缩放以及自动适应屏幕宽度的功能。在...

    Android代码-Android图片浏览全屏缩放.zip

    综上所述,这个压缩包中的代码示例着重展示了如何在Android中实现图片的全屏显示和平滑缩放,涉及到了Android UI组件、图片加载库、手势识别和内存优化等多个重要知识点。开发者可以通过研究这些源码,提升自己在...

    Android ImageView图片放大到全屏显示

    在XML布局文件中,可以通过`android:scaleType`属性来调整图片的显示方式,例如`centerCrop`用于填充整个ImageView,`fitCenter`则保持图片比例居中显示。 要实现图片的全屏显示,通常需要将ImageView的大小设置为...

    ANDROID:控件属性(很全).

    Android 中的 ImageView 控件属性可以控制图片的显示方式。 * android:scaleType:控制图片如何 resized/moved 来匹对 ImageView 的 size。ImageView.ScaleType 值的意义区别: + CENTER:按图片的原来 size 居中...

    实例解析Android ImageView的scaleType属性

    在处理图像显示时,一个至关重要的属性便是`scaleType`,这个属性决定了图片如何适应ImageView的大小,从而影响到图片的显示效果。 `scaleType`属性提供了多种方式来调整图片在ImageView中的布局,以下是一些主要的...

    android布局属性大全(总结)

    本文档汇总了Android中常用的布局属性,旨在帮助开发者更好地理解并运用这些属性来构建美观且功能强大的用户界面。 #### 二、RelativeLayout 布局 `RelativeLayout` 是Android中非常常用的一种布局方式,它允许子...

    Android图片显示位置

    在Android开发中,图片显示位置是一项基础且重要的任务,尤其当需要在图片上叠加文字时,需要对图像布局和文字定位有深入理解。本篇将详细介绍如何在Android应用中实现图片显示并添加文字,以及相关的知识点。 首先...

    Android通过ImageView实现图片的显示和切换

    在Android布局文件中,我们可以创建一个ImageView并设置其属性,如图片资源ID或图片URL。例如,在XML布局中,我们可以这样定义ImageView: ```xml android:id="@+id/imageView" android:layout_width="wrap_...

Global site tag (gtag.js) - Google Analytics