Android ImgView属性

Android ImgView属性,第1张

概述ImageView是用于界面上显示图片的控件。 属性 1、为ImageView设置图片 ①android:src="@drawable/img1"; src设置图片,默认图片等比例

ImageVIEw是用于界面上显示图片的控件。

属性1、为ImageVIEw设置图片

androID:src="@drawable/img1";

src设置图片,默认图片等比例放缩,以最适应的大小显示。

androID:background="@drawable/img1"

background是组件通用属性,不仅可以设置组件的背景颜色,也可以用图片做背景。

 

【提示】①以图片做背景,那么图片将适应组件的大小。

              ②但如果控件是宽高为wrap_content,则和src的效果相同。

              ③如果src和background属性同时设置,src设置的图片将在上方,background设置的图片将在上方。src图片不一定完全遮盖下面的图片,根据src的放缩模式而定。

              ④资源文件名称由小写字母、数字、下划线组成。(注意:不能用大写字母)

 

③案例

【准备】对应的图片资源可以放再 res/drawable文件夹下,这是两张图片没有进行任何缩放的效果

【代码】

 1 <?xml version="1.0" enCoding="utf-8"?> 2 <androID.support.constraint.ConstraintLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" 3     xmlns:app="http://schemas.androID.com/apk/res-auto" 4     xmlns:tools="http://schemas.androID.com/tools" 5     androID:layout_wIDth="match_parent" 6     androID:layout_height 7     tools:context=".MainActivity" 8     androID:background="#ccc"> 9     10     ImageVIEw11         androID:ID="@+ID/iv"12         androID:layout_wIDth="200dp"13         androID:layout_height="300dp"14         androID:background="@drawable/img1" />15 16     17         ="@+ID/iv2"18 19 20         androID:layout_marginBottom="8dp"21         androID:layout_marginEnd22 ="@drawable/img2"23         app:layout_constraintBottom_toBottomOf="parent"24         app:layout_constraintEnd_toEndOf="parent" 25 26 </androID.support.constraint.ConstraintLayout>

【效果】

【提示】

 【提示】①这里为了更好地说明background和src的区别,我们将ImageVIEw设置具体的宽度。

               ②其他一些margin和constraintEnd等属性只是用来调整位置。具体根据你的父容器而定。

               ③左图是background的效果,右图是在src的效果,并未其添加了图片作为背景,便于观察ImageVIEw的位置和大小。

 

2、放缩属性ScaleType
androID:scaleType="fitXY"

【提示】ScaleType属性要结合src属性一起使用,对background设置的图片没有效果

【代码】

 9 ="360dp"="500dp"        androID:src="@drawable/img1"15 ="#f00"16         androID:scaleType="fitCenter"17 18 >

【属性值】

以下只修改ScaleType的属性值

fixCenter:这是图片默认的属性值,表示会填充控件,不会让图片变形。

 

fixXY:表示图片填充控件,允许图片拉伸,会根据ImageVIEw的大小而适配。和background的效果相同。

 

centerCrop:以填满整个ImageVIEw为目的,将ImageVIEw的中心对准ImageVIEw的中心,等比例放大原图,直到填满ImageVIEw为止(ImageVIEw的宽高都要填满),原图超出部分做裁剪处理。

【效果】

 

 ④center:保持原图大小,显示在ImageVIEw的中心。当原图大小小于ImageVIEw大小时,旁边部分将空白,如左图。反之,原图将将做裁剪处理,如右图(这里将ImageVIEw的大小修改成比原图小的值)

 【效果】

 

matrix:不改变原图的大小,从ImageVIEw的左上角开始绘制原图。原图超过部分将作裁剪。

【提示】用Matrix对ImageVIEw作放大和缩小的效果是,ImageVIEw的ScaleType必须设置为matrix

 

fitEnd:把原图按比例放缩到ImageVIEw的宽度,显示在下方的位置。左图

fitStart:把原图按比例放缩到ImageVIEw的宽度,显示在上方的位置。右图

 

centerInsIDe:以原图完全显示为目的,将图片的内容完整居中显示,通过按比例缩小的原图宽高等于或者小于ImageVIEw的宽高。如果原图小于ImageVIEw的宽高,则原图不做处理,居中显示在ImageVIEw上(如左图)。反之,和fixCenter效果相同。以短的一边为基准等比例放缩图片,完整的显示在ImageVIEw的中间(如右图)。

 

 3、调整边界来适应图片
androID:adjustVIEwBounds="true/false"

表示是否可以通过调整边界来适应图片(与maxWIDth或者maxHeight配合使用)。一般此属性和maxHeight和maxWIDth属性一起使用。最大宽度和高度。

【提示】①如果设置的layout_wIDth与layout_height都是定值,则设置adjustVIEwBounds是没有效果的,ImageVIEw将为设定的定值的宽高。

              ②如果设置的layout_wIDth与layout_height都是wrap_content,则设置adjustVIEwBounds是没有意义的,因为ImageVIEw将始终与图片拥有相同的宽高比(但是并不是相同的宽高值,通常都会放大一些)

 

总结

以上是内存溢出为你收集整理的Android ImgView属性全部内容,希望文章能够帮你解决Android ImgView属性所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1121259.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存