星空网 > 软件开发 > 操作系统

一篇文章讲清楚android ImageView.ScaleType

2016-01-10

刚开始android编程的时候, 关于ImageView.ScaleType网络上好多, 说实话没看懂. 本文就是为了讲清楚这个, 有用的话转走, 请注明原地址和作者.

典型的代码调用如下

  <ImageView    android:layout_width="300dp"    android:layout_height="400dp"    android:scaleType="center"    android:src='/images/loading.gif' data-original="@drawable/numbers" >  </ImageView>

为了看起来方便, 下面所有的例子中ImageView(我把它叫做容器)的大小固定在300x400dp, 只调整图片的大小.

图片使用0-8数字格, 添加了10px的蓝色边框. 这样如果图片经过了变形裁剪等, 都很容易看出来.

一篇文章讲清楚android ImageView.ScaleType

 

ScaleType主要有如下几种取值:

1. CENTER 把图片放在容器的中间, 但是不会调节图片尺寸, 原图多大就显示多大.

一篇文章讲清楚android ImageView.ScaleType一篇文章讲清楚android ImageView.ScaleType一篇文章讲清楚android ImageView.ScaleType

图片100x100               图片300x300                  图片400x400

 

2. CENTER_CROP  等比例放大或者缩小图片, 目的是调整后图片的一条边正好等于容器的边, 另一条边要大于等于容器的边. 看起来就是一定要把图片拉伸出去.

一篇文章讲清楚android ImageView.ScaleType 不管图片是100x100, 还是900x900, 都是左边的效果, 都会把一条边(这里是水平边)调整成和容器一样大, 垂直边调整成超出容器.

 

3. CENTER_INSIDE 等比例放大或者缩小图片, 目的是调整后图片的两条边都要小于等于容器的边. 看起来就是一定要把图片压缩进去.

一篇文章讲清楚android ImageView.ScaleType一篇文章讲清楚android ImageView.ScaleType

        图片小                  图片大

4. FIT_CENTER 等比例放大或者压缩图片, 目的是调整后图片的一条边正好等于容器的边, 另一条边要小于等于容器的边. 而且图片要放在容器中心.

一篇文章讲清楚android ImageView.ScaleType  不管100x100, 还是900x900, 图片都会把严丝合缝的放进去.

 

5. FIT_END 同FIT_CENTER, 只是图片放在容器的右下方

一篇文章讲清楚android ImageView.ScaleType

 

6. FIT_START 同FIT_CENTER, 只是图片放在容器的左上方

一篇文章讲清楚android ImageView.ScaleType

 

7. FIT_XY 不管大图小图, 简单粗暴的把X和Y拉成和容器一样大小.

一篇文章讲清楚android ImageView.ScaleType

 

总结一下,

1. 最常用的就是FIT_CENTER, FIT_START, FIT_END, 因为1.它保证了图片的长宽比, 显示出来的和原图协调; 2. 它至少使一条边贴近容器, 充分考虑了容器的大小.

2. 其次常用的是FIT_XY, 优点是确保容器被填满, 缺点是图片失真.

3. CENTER_CROP会导致图片被裁剪;CENTER_INSIDE不适用于小图, 会导致图片看起来很小, 容器很大, 不成比例, 完全可以用FIT_CENTER代替.

4. 最不常用的是CENTER, 完全不调整图片尺寸, 对容器大小的限制太死, 在android多分辨率的设备上无法使用.




原标题:一篇文章讲清楚android ImageView.ScaleType

关键词:Android

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

疫情重点地区:https://www.goluckyvip.com/tag/13131.html
母婴行业:https://www.goluckyvip.com/tag/13132.html
站群”巨头:https://www.goluckyvip.com/tag/13133.html
半导体芯片:https://www.goluckyvip.com/tag/13134.html
Brandless:https://www.goluckyvip.com/tag/13135.html
广告频率:https://www.goluckyvip.com/tag/13136.html
北京丰台区水上乐园哪家好玩?:https://www.vstour.cn/a/366177.html
23点聊电商:“潮起钱塘·境遇未来”2024年跨境电商全平台发展大会圆满完成 :https://www.kjdsnews.com/a/1836652.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流