ImageView的ScaleType之见解

大家对ImageView再熟悉不过了,但其ScalType你了解吗?

ImageView的ScaleType属性,表示的是ImageView中资源图片的填充方式。scaleType的属性值有好几种,分别是:

  • matrix(默认)
  • center
  • centerCrop
  • centerInside
  • fitCenter
  • fitEnd
  • fitStart
  • fitXY

这里要注意:matrix表示一种填充方式叫默认填充,如果布局和代码中不设置ScaleType属性,ImageView默认是fitCenter!

此处为了效果对比,ImageView统一设置120dp:120dp正方形,而图片则是大约3:2的普通长方形。

01

center

android:scaleType=”center”

保持原图的大小,显示在ImageView的中心。当原图的size大于ImageView的size,超过部分裁剪处理。

02

centerCrop

android:scaleType=”centerCrop”

以填满整个ImageView为目的,将原图的中心对准ImageView的中心,等比例放大原图,直到填满ImageView为止(指的是ImageView的宽和高都要填满),原图超过ImageView的部分作裁剪处理。

03

centerInside

android:scaleType=”centerInside”

以原图完全显示为目的,将图片的内容完整居中显示,通过按比例缩小原图的size宽(高)等于或小于ImageView的宽(高)。如果原图的size本身就小于ImageView的size,则原图的size不作任何处理,居中显示在ImageView。

04

matrix

android:scaleType=”matrix”

不改变原图的大小,从ImageView的左上角开始绘制原图,原图超过ImageView的部分作裁剪处理。

05

fitCenter

android:scaleType=”fitCenter”

把原图按比例扩大或缩小到ImageView的ImageView的高度,居中显示。

06

fitEnd

android:scaleType=”fitEnd”

把原图按比例扩大(缩小)到ImageView的高度,显示在ImageView的下部分位置。

07

fitStart

android:scaleType=”fitStart”

把原图按比例扩大(缩小)到ImageView的高度,显示在ImageView的上部分位置。

08

fitXY

android:scaleType=”fitXY”

把原图按照指定的大小在View中显示,拉伸显示图片,不保持原比例,填满ImageView。

原文发布于微信公众号 - Android机动车(JsAndroidClub)

原文发表时间:2017-09-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

扫码关注云+社区

领取腾讯云代金券