Android ImageView的ScaleType属性

作者 : 开心源码 本文共4136个字,预计阅读时间需要11分钟 发布时间: 2022-05-12 共192人阅读

参考

1、Android–UI之ImageView
2、ImageView的scaleType详解

ScaleType属性

常量含义
fitXY横向、纵向独立缩放,以适应该ImageView
fitCenter保持纵横比缩放图片,缩放完成后将图片放在ImageView的中央
fitStart保持纵横比缩放图片,并且将图片放在ImageView的左上角
fitEnd保持纵横比缩放图片,缩放完成后将图片放在ImageView的右下角
center把图片放在ImageView的中央,但是不进行任何缩放
centerCrop保持纵横比缩放图片,以使图片能完全覆盖ImageView
centerInside保持纵横比缩放图片,以使得ImageView能完全显示该图片
matrix使用matrix方式进行缩放

截图1:没啥属性,就wrap_content后者设置高宽等,代码就略过

image.png

截图2:ScaleType=fitXY,fitCenter,fitStart,fitEnd

image.png

       <TextView            android:layout_marginTop="10dp"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:textStyle="bold"            android:textSize="18sp"            android:textColor="@color/blue"            android:text="下面ImageView固定设置:200dp*100dp,并开始加上ScaleType属性了"/>        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="1、scaleTyple=fitXY,显然是缩放到XY高度,被拉伸了"/>        <ImageView            android:layout_width="200dp"            android:layout_height="100dp"            android:src="@mipmap/namei"            android:background="@color/pink"            android:scaleType="fitXY"/>        <TextView            android:layout_marginTop="10dp"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="2、scaleTyple=fitCenter,按比例适配缩放后居中,也是默认形式哦"/>        <ImageView            android:layout_width="200dp"            android:layout_height="100dp"            android:src="@mipmap/namei"            android:background="@color/pink"            android:scaleType="fitCenter"/>        <TextView            android:layout_marginTop="10dp"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="3、scaleTyple=fitStart,按比例适配缩放后左上"/>        <ImageView            android:layout_width="200dp"            android:layout_height="100dp"            android:src="@mipmap/namei"            android:background="@color/pink"            android:scaleType="fitStart"/>        <TextView            android:layout_marginTop="10dp"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="4、scaleTyple=fitEnd,按比例适配缩放后右下"/>        <ImageView            android:layout_width="200dp"            android:layout_height="100dp"            android:src="@mipmap/namei"            android:background="@color/pink"            android:scaleType="fitEnd"/>

截图3:ScaleType=center,centerCrop,centerInside

image.png

       <TextView            android:layout_marginTop="10dp"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="5、scaleTyple=center,显然按照默认图大小,画在中间了"/>        <ImageView            android:layout_width="200dp"            android:layout_height="100dp"            android:src="@mipmap/namei"            android:background="@color/pink"            android:scaleType="center"/>        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="用50*50大小试试看,scaleTyple=center,好吧,就一个笑脸了,原图不变,尺寸小就小咯"/>        <ImageView            android:layout_width="50dp"            android:layout_height="50dp"            android:src="@mipmap/namei"            android:background="@color/pink"            android:scaleType="center"/>        <TextView            android:layout_marginTop="10dp"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="6、scaleTyple=centerCrop,这个厉害了,为了等比例适配后还改变了原价控件大小!!"/>        <ImageView            android:layout_width="200dp"            android:layout_height="100dp"            android:src="@mipmap/namei"            android:background="@color/pink"            android:scaleType="centerCrop"/>        <TextView            android:layout_marginTop="10dp"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="7、scaleTyple=centerInside,感觉和center一样啊"/>        <ImageView            android:layout_width="200dp"            android:layout_height="100dp"            android:src="@mipmap/namei"            android:background="@color/pink"            android:scaleType="centerInside"/>        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="用50*50大小试试看,scaleTyple=centerInside,按比例缩小后显示在内部"/>        <ImageView            android:layout_width="50dp"            android:layout_height="50dp"            android:src="@mipmap/namei"            android:background="@color/pink"            android:scaleType="centerInside"/>

截图4:ScaleType=matrix

image.png

       <TextView            android:layout_marginTop="10dp"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="8、scaleTyple=matrix,默认尺寸左上排列"/>        <ImageView            android:layout_width="200dp"            android:layout_height="100dp"            android:src="@mipmap/namei"            android:background="@color/pink"            android:scaleType="matrix"/>

ImageView加载图片,代码部分

//4种方式设置图片iv_nm.setImageResource(R.mipmap.namei);iv_nm.setImageDrawable(getResources().getDrawable(R.mipmap.namei));iv_nm.setImageBitmap(BitmapFactory.decodeFile("file path"));iv_nm.setImageURI(Uri.parse("file path"));

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Android ImageView的ScaleType属性

发表回复