imageView-scaleType 图片压缩属性
今天用到了图片压缩的属性,自己参照网上的说明,验证了一下,截图如下
(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 图片压缩属性的更多相关文章
- 对ImageView.ScaleType的详解
设置的方式有两种: 1.在layout.xml里面定义android:scaleType = "center" 2.在代码中调用imageview.setScaleType(Ima ...
- Android ImageView(scaleType属性)图片按比例缩放
<ImageView android:id="@+id/img" android:src="@drawable/logo" android:scaleTy ...
- android ImageView的属性android:scaleType,即ImageView.setScaleType(ImageView.ScaleType)
实例 <ImageView android:id="@+id/image" android:layout_width="fill_parent" andr ...
- ImageView的属性android:scaleType,即ImageView.setScaleType(ImageView.ScaleType)
1 imageView.setScaleType(ImageView.ScaleType.FIT_XY ); 1 这里我们重点理解ImageView的属性android:scaleType,即Imag ...
- 【转】ImageView.ScaleType属性
原文网址:https://blog.csdn.net/Buaaroid/article/details/49360779 ImageView的Scaletype决定了图片在View上显示时的样子,如进 ...
- 刘下记录:ImageView.scaleType 属性全解析(含视频)
0. 译序 原文:Working with the ImageView ImageView 有一个经常使用场景:ImageView 的宽度固定,高度等比例缩放.且 ImageView 在 paddin ...
- Android ImageView(scaleType属性)(转)
(转自:http://www.open-open.com/lib/view/open1378257991687.html) <ImageView android:id="@+id/im ...
- 【Android】ImageView ScaleType属性值
ImageView.ScaleType / android:scaleType值的意义区别: CENTER /center 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的 ...
- Android学习笔记:如何设置ImageView中图片的显示方式
我们在用ImageView显示图片时,很多情况下图片的大小与ImageView的尺寸不是完全一样的.这时就涉及到该如何设置显示图片了. ImageView有个重要的属性是ScaleType,该属性用以 ...
随机推荐
- Flask Flash闪现
Flash介绍以及工作方式 flash中添加消息 取出flash中的消息 Flash介绍以及工作方式 - 介绍: flash :闪现 一个好的应用和用户界面都需要良好的反馈. 如果用户得不到足够的反馈 ...
- SFDC 微服务实践之路 2016.12.10 杭州(整理)--转
原文地址:http://mp.weixin.qq.com/s/8cC4Ewt6yPjnxdYxuNZlFQ 微服务是什么? 微服务是一种细粒度(Fine-Grain)的SOA 或许在座的高朋了解过其概 ...
- 如何快速复制Windows警告提示消息对话框内容
凡是使用过计算机的朋友,都遇到过系统发出的警告提示消息对话框,如图所示. 哇!好长的一串英文错误警告,这要手写到什么时候呢?不!现在不用这么麻烦了. 你只要鼠标选中这个提示框Ctrl+C,然后打开你的 ...
- JS实现页面跳转 浏览器地址栏保持不变
JS实现页面跳转 浏览器地址栏保持不变 在公司内部框架中,发现点击超链接,页面发生跳转,而浏览器地址栏URL始终保持不变.分析其实现机制,响应A标签onclick事件,通过Ajax向服务器端发送htt ...
- WebAssembly学习(一):认识WebAssembly
WebAssembly作为一门新兴起的技术,在 JavaScript 圈非常的火!人们都在谈论它多么多么快,怎样怎样改变 Web 开发领域,被各大巨头所推广,这篇文章对其做一个简单的了解认识,本文非原 ...
- C++入门之HelloWorld
1.在VS2017上新建一个C++空白项目,命名为hello 2.在资源文件下新建添加新建项main.cpp 3.在main.cpp中编写hello world输出代码 #include<std ...
- JAVA数组的基本方法
数组的基本方法 数组可以存放多个数据,多个数据类型要统一数组格式: 格式一:常用写法 数组类型[] 数组名称 = new 数据类型[数组长度]; 格式二:蛋疼写法 数组类型[] 数组名称; 数组名称 ...
- CodeForcesGym 100502K Train Passengers
Train Passengers Time Limit: 1000ms Memory Limit: 524288KB This problem will be judged on CodeForces ...
- COGS——T 7. 通信线路
http://www.cogs.pro/cogs/problem/problem.php?pid=7 ★★ 输入文件:mcst.in 输出文件:mcst.out 简单对比时间限制:1.5 ...
- js插件---jqGrid插件如何使用
js插件---jqGrid插件如何使用 一.总结 一句话总结:jqdrid还是依赖加js初始化的方式,很多时候插件的问题一般都是引入的css和js的问题,jqgrid里面遇到的问题就是下载包有一些js ...