ImageView.ScaleType =" MATRIX"是什么意思? :Android

时间:2015-08-03 12:59:57

标签: android android-layout android-imageview

我了解matrix,其结构以及处理图片视图的比例类型。但是,

  1. 我无法找到ImageView.ScaleType="MATRIX"的确切含义。通过声明这一点,绘制图像视图时会发生什么。

  2. 我什么时候可以使用ImageView.ScaleType="MATRIX"

  3. 它与FIT_END& FIT_START

  4. 我用Google搜索并提到official link,但无法找到确切的答案。

4 个答案:

答案 0 :(得分:10)

  1. ImageView.ScaleType.MATRIX可让您使用Matrix缩放图片。您可以使用ImageView.setImageMatrix(matrix)设置矩阵。因此,通过将 scaleType 声明为 MATRIX ,您说要使用显式矩阵来执行此操作。
  2. 只要您想根据需要自定义图像缩放,旋转等方式,就可以使用imageView.setScaleType(ImageView.ScaleType.MATRIX)
  3. FIT_ENDFIT_START是默认的比例类型。因此,如果您使用FIT_END,您的图像将保持原始宽高比,并且会对齐图像视图右下边缘的结果。所以基本上,区别在于FIT_ENDFIT_START是"预设"使用MATRIX时,您声明要使用自己的矩阵进行缩放。
  4. 阅读the docs了解详情

答案 1 :(得分:3)

根据我的理解,使用以下每个ImageView的ScaleType属性的详细信息

<强>中心

显示视图中心的图像,没有缩放。

<强> centerCrop

缩放图像,使x和y尺寸都大于或等于视图,同时保持图像宽高比;裁剪图像中超出视图大小的任何部分;使图像在视图中居中。

<强> centerInside

缩放图像以适合视图,同时保持图像宽高比。如果图像已经小于视图,那么这与中心相同。

<强> fitCenter

缩放图像以适合视图,同时保持图像宽高比。至少有一个轴与视图完全匹配,结果在视图中居中。

<强> fitStart

与fitCenter相同,但与视图的左上角对齐。

<强> fitEnd

与fitCenter相同,但与视图的右下角对齐。

<强> fitXY

缩放x和y尺寸以与视图尺寸完全匹配;不保持图像宽高比。

<强>矩阵

使用提供的Matrix类缩放图像。可以使用setImageMatrix方法提供矩阵。 Matrix类可用于将转换(例如旋转)应用于图像。

答案 2 :(得分:3)

您链接的文档提供了您正在寻找的答案。

  

绘图时使用图像矩阵进行缩放。可以使用setImageMatrix(Matrix)设置图像矩阵。从XML,使用以下语法:android:scaleType="matrix"

虽然你提到你已经知道Matrix在图形的上下文中是什么,但我会简单解释一下,为了遇到这个问题的其他用户 - 一个矩阵可以用来操作画布时绘制图形。对于ImageView矩阵,您可以使用它来翻译,翻转,旋转或以其他方式在屏幕上移动图像。

  

当我可以使用ImageView.ScaleType =“MATRIX”

您可以随时使用ImageView使用它。您可以在Java代码中调用setScaleType()以使用矩阵比例类型,也可以在布局XML中添加android:scaleType="matrix"属性。

  

它与FIT_END&amp; FIT_START

FIT_ENDFIT_START实际上都使用Matrix来扩展您的图片。两者都保持原始宽高比并使图像完全适合视图,但只是以不同方式对齐结果。 End将缩放的图像与ImageView的末尾对齐,而start将缩放的图像与ImageView的开头对齐

答案 3 :(得分:1)

ScaleType = “基质”

根据用户的捏拉手势比例因子构建并缩放Matrix,然后根据此缩放的矩阵设置ImageView。 请访问Android ImageView ScaleType

检查Effecthttps://guides.codepath.com/android/Working-with-the-ImageView