今天用到了图片压缩的属性,自己参照网上的说明,验证了一下,截图如下

(1)当图片背景是方形的时候

代码如下

<LinearLayout
android:id="@+id/l31"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/l21"
android:layout_below="@id/l21"
android:gravity="center_horizontal"
android:orientation="vertical" > <ImageButton
android:layout_width="110dp"
android:layout_height="110dp"
android:scaleType="centerCrop"
android:src="@drawable/test" /> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="centerCrop" />
</LinearLayout>

图片的尺寸是 87*87

结果截图如下

(2)当图片背景是长方形的时候

代码如下

    <LinearLayout
android:id="@+id/l31"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/l21"
android:layout_below="@id/l21"
android:gravity="center_horizontal"
android:orientation="vertical" > <ImageButton
android:layout_width="100dp"
android:layout_height="120dp"
android:scaleType="centerCrop"
android:src="@drawable/test" /> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="centerCrop" />
</LinearLayout>

截图如下

(3)当图片比背景大的时候

代码如下

    <LinearLayout
android:layout_width="100dp"
android:layout_height="100dp"
android:id="@+id/l31" android:layout_alignLeft="@id/l21"
android:layout_below="@id/l21"
android:gravity="center_horizontal"
android:orientation="vertical" > <ImageButton
android:layout_width="50dp"
android:layout_height="70dp"
android:scaleType="centerCrop"
android:src="@drawable/test" /> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="centerCrop" />
</LinearLayout>

结果如下

从上图我们可以总结下scaleType属性如下:

scaleType的属性值有:matrix fitXY fitStart fitCenter fitEnd center centerCrop centerInside

它们之间的区别如下:

matrix 用矩阵来绘制(从左上角起始的矩阵区域,不是很明白)

fitXY 把图片不按比例扩大/缩小到View的大小显示(确保图片会完整显示,并充满View)

fitStart 把图片按比例扩大/缩小到View的宽度,显示在View的上部分位置(图片会完整显示)

fitCenter 把图片按比例扩大/缩小到View的宽度,居中显示(图片会完整显示)

fitEnd 把图片按比例扩大/缩小到View的宽度,显示在View的下部分位置(图片会完整显示)

center 按图片的原来size居中显示,当图片宽超过View的宽,则截取图片的居中部分显示,当图片宽小于View的宽,则图片居中显示

centerCrop 按比例扩大/缩小图片的size居中显示,使得图片的高等于View的高,使得图片宽等于或大于View的宽(可能会溢出,不会缩小)

centerInside 将图片的内容完整居中显示,使得图片按比例缩小或原来的大小(图片比View小时)使得图片宽等于或小于View的宽 (图片会完整显示,不会放大)

imageView-scaleType 图片压缩属性的更多相关文章

  1. 对ImageView.ScaleType的详解

    设置的方式有两种: 1.在layout.xml里面定义android:scaleType = "center" 2.在代码中调用imageview.setScaleType(Ima ...

  2. Android ImageView(scaleType属性)图片按比例缩放

    <ImageView android:id="@+id/img" android:src="@drawable/logo" android:scaleTy ...

  3. android ImageView的属性android:scaleType,即ImageView.setScaleType(ImageView.ScaleType)

    实例 <ImageView android:id="@+id/image" android:layout_width="fill_parent" andr ...

  4. ImageView的属性android:scaleType,即ImageView.setScaleType(ImageView.ScaleType)

    1 imageView.setScaleType(ImageView.ScaleType.FIT_XY ); 1 这里我们重点理解ImageView的属性android:scaleType,即Imag ...

  5. 【转】ImageView.ScaleType属性

    原文网址:https://blog.csdn.net/Buaaroid/article/details/49360779 ImageView的Scaletype决定了图片在View上显示时的样子,如进 ...

  6. 刘下记录:ImageView.scaleType 属性全解析(含视频)

    0. 译序 原文:Working with the ImageView ImageView 有一个经常使用场景:ImageView 的宽度固定,高度等比例缩放.且 ImageView 在 paddin ...

  7. Android ImageView(scaleType属性)(转)

    (转自:http://www.open-open.com/lib/view/open1378257991687.html) <ImageView android:id="@+id/im ...

  8. 【Android】ImageView ScaleType属性值

    ImageView.ScaleType / android:scaleType值的意义区别: CENTER /center 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的 ...

  9. Android学习笔记:如何设置ImageView中图片的显示方式

    我们在用ImageView显示图片时,很多情况下图片的大小与ImageView的尺寸不是完全一样的.这时就涉及到该如何设置显示图片了. ImageView有个重要的属性是ScaleType,该属性用以 ...

随机推荐

  1. Vsftp权限控制(持续增加中)

    把用户限制在自己的home目录中,例如限制用户Leon只能访问/home/Leon目录下的文件,不允许访问上级目录. 先打开配置文件 vi /etc/vsftpd/vsftpd.conf 第一种方法: ...

  2. 85.explicit作用

    #include <iostream> using namespace std; class myclass { public: int num; public: explicit myc ...

  3. 24.桌面移动qq

    #include <stdlib.h> #include <Windows.h> #include <stdio.h> #include <math.h> ...

  4. Hexo 相册实践

    灵感 想给自已的blog添加一个相册功能.给生活中的点点滴滴留影记录.搜寻网络上给Next主题添加相册功能的基本上没有,只能重头到尾开始一点点的实践.    大致的想法:  1. 相册展示类似于归档一 ...

  5. 无闻go编程基础笔记

    Go语言做Web编程非常方便,并且在开发效率和程序运行效率方面都非常优秀.相比于Java,其最大的优势就是简便易用,而相比于PHP,它最大的优势就是性能好. (go做web)推荐Gorilla的库,里 ...

  6. flex RemoteObject 的两种使用方法

    这里使用的是django1.6 和 postgreSQL9.0  FlashBuilder4.5 django方面就不说了,根据文档来做,建好模块,配置好数据库等等 创建 gateway 和 time ...

  7. 对比了解Grafana与Kibana的关键差异

    对比了解Grafana与Kibana的关键差异 http://www.infoq.com/cn/articles/grafana-vs-kibana-the-key-differences-to-kn ...

  8. Apache Thrift使用总结

    使用感受 之前对Thrift的理解有点不准确,使用之后发现Thrift比想象中的要简单得多. Thrift做的事情就是跨语言的分布式RPC,通过编写.thrift文件声明接口类和方法,client调用 ...

  9. Use PSO to find minimum in OpenCASCADE

    Use PSO to find minimum in OpenCASCADE eryar@163.com Abstract. Starting from OCCT6.8.0 will include ...

  10. solr简介

    Solr 是什么? Solr它是一种开放源码的.基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序中. Solr 提供了层面搜索(就是统计).命中醒目显示并且支持多种输出格式(包 ...