Android ImageView的ScaleType属性

参考

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"));
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ImageView 的 android:scaleType 属性的含义如下: 控制如何调整图片大小和图片位移以匹配...
    吴下阿吉阅读 1,881评论 0 0
  • ImageView 是 Android 中最常用的控件之一,而在使用ImageView时,必不可少的会使用到它的s...
    李斯维阅读 131,338评论 25 205
  • android tips主要讲解平时在开发中的一些常用有比较容易让人忽略的问题或者是个人建议。知识比较杂,但是好多...
    薛之涛阅读 726评论 0 2
  • 本来想创作一手hip-hop的词,写着写着,正琢磨着押韵就又改了主意,将歌词改了个面目全非改成了诗,看来我的rap...
    虞子鸣阅读 255评论 0 1
  • 慢慢地,习惯了你不在的日子。 不再害怕黑夜星星般的孤单, 不再在清晨的轻雾里迷...
    张家小闹阅读 304评论 0 5