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

(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. Array 对象常用的方法总结

    shift:删除原数组的第一项,返回删除元素的值:如果数组为空则返回undefined var arr = [1, 2, 3, 4, 5]; var out = arr.shift(); consol ...

  2. vue --- cli build 后的项目,图片路径出错

    今天在插入背景图片过程中,遇到了路径错误的问题,通过网上查询,找到了解决的办法,但是大部分都没有讲造成这种问题的原因,故我简单地总结了一下,并加入了一些自己的理解,欢迎共同探讨~ 当用vue-cli自 ...

  3. impala 概述

    impala 概述 什么是Impala? Impala是用于处理存储在Hadoop集群中的大量数据的MPP(大规模并行处理)SQL查询引擎. 它是一个用C ++和Java编写的开源软件. 与其他Had ...

  4. AIX 系统补丁升级步骤

    AIX 系统补丁升级步骤   1.升级之前建议备份 rootvg (推荐) # smit mksysb   2.检查系统版本号 # oslevel -r   3.找到补丁光盘或者下载补丁,上传到服务器 ...

  5. c#同步上下文SynchronizationContext学习笔记

    提供在各种同步模型中传播同步上下文的基本功能.同步上下文的工作就是确保调用在正确的线程上执行. 同步上下文的基本操作 Current 获取当前同步上下文 var context = Synchroni ...

  6. pycharm 添加注册码

    https://blog.csdn.net/u014044812/article/details/78727496

  7. 学习——HTML5

    HTML5多用于手机页面制作,因为PC版浏览器大多不兼容,可以通过下面网站查看HTML5浏览器兼容情况: http://www.caniuse.com/#index 一.语义化标签 1.<hea ...

  8. 树莓派3b+ wifi无线连接

    一.配置文件启动wifi 配置 /etc/network/interfaces 文件实现,但在图形界面上并没有wifi图标可以选择,这种方法不够灵活,后面连接其它的wifi都要去修改配置文件 首先打开 ...

  9. 【Codeforces Round #459 (Div. 2) D】MADMAX

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] f[x][y][z][2] 表示第一个人到了点x,第二个人到了点y,当前轮的字母(1..26),当前轮到谁走的情况下,谁赢. 写个记 ...

  10. QQ互联账号登录

    本文说明的是依据某应用通过网页的qq信息来登录的过程.用途是利用QQ账号就能高速自己主动注冊并可以登录客户应用. 从webserver与腾讯server通信获取开房平台用户OpenID,再在应用ser ...