各位看官们大家好,上一回中咱们说的例子是"RxJava中的总结",本章回中介绍的例子是"I mageView的缩放"。闲话休提,言归正转,让我们一起Talk Android吧!
概念介绍
通常情况下ImageView组件主要用来显示图片,因此需要使用图片当作显示内容,这个可以通过ImageView
的src属性来设置被显示的图片,不过ImageView的大小和图片的大小不一样,因此需要对ImageView中的图片做缩放,让图片铺满整个ImageView
或者占用ImageView一定的比例。本章回主要介绍如何对图片进行缩放。
实现方法
我们可以使用ImageVie组件使用scaleType属性来设置图片的缩放,默认的属性值为CNETER,不会对图片进行缩放,常用的属性值如下:
- 如果想让图片铺满整个ImageView可以使用FIT_XY,不过图片会有拉伸现象;
- 如果想让图片铺满整个ImageView可以使用CENTER_CROP,不过它会对图像做剪裁,因为它缩放图片时直到x和y方向都大于ImageView时才停止缩放;
- 如果想让图片不拉伸可以使用FIT_CENTER属性,但是它不会铺满整个ImageView,只要x或者y方向中的任何一个方向铺满ImageView时就不再缩放图片;
Android推出约束布局后也可以使用ImageFilterView
组件来显示图片,在该组件中可以使用imageZoom
属性来缩放图片,当然了,也可以使用scaleType
属性。因为它是ImageView的子类。
该组件的imageZoom
属性是以图片中心为圆心向x和y正方向进行缩放的,不能对x和y方向进行设置,因此缩放后的图片偏向右下角,如果缩放尺寸超过ImageFilterView,那么对图片进行剪裁。我的建议是如果对缩放方向没有要求,比如不要求居中显示图片,可以使用此属性对图片进行缩放。
注意:两个在此组件中这两个属性只能2选1,如果两个属性都设置了,imageZoom属性优先起作用。
示例代码
<androidx.constraintlayout.utils.widget.ImageFilterView
android:src="@drawable/ic_icon"
android:scaleType="centerCrop"
app:imageZoom="1.2"
</androidx.constraintlayout.utils.widget.ImageFilterView>
在上面的代码中我们使用了两种属性,不过只有imageZoom属性起作用。imageVeiw组件的使用方法和它类似,我们不再列出示例代码。
经验分享
我通常使用CENTER_CROP
和FIT_CENTEER
两种情况多一些,因为这两个属性值不但可以缩放图片而且会让图片居中显示。
关于图片的scaleType属性还有其它的属性值可以设置,大家可以参考官方文档。此外,我们建议大家动手去实践一下,只有看到实际效果了才能明白这些属性值的含义。文章来源:https://www.toymoban.com/news/detail-408789.html
看官们,关于"ImageView的缩放"的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!文章来源地址https://www.toymoban.com/news/detail-408789.html
到了这里,关于一起Talk Android吧(第五百四十回:ImageView的缩放)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!