• ImageView的src与background及ScaleType


    1 概述

    开发中经常使用Imageview的src和background属性,从字面上看src是路径,background是背景。二者都可以显示drawable或者颜色。设置drawable图片资源时,会有所不同。

    2 android:background属性

    若background设置的是图片:

    • 如果宽或高设置为match_parent或者固定值,那么该图片会被拉伸以填满整个ImageView区域。
    • 如果宽或高设置为wrap_content,那么图片按照自身大小显示,不会被拉伸。

    代码设置background:

    • image.setBackground(getResources().getDrawable(R.drawable.blackk));
    • image.setBackgroundResource(R.drawable.blackk);
    • image.setBackgroundDrawable(getResources().getDrawable(R.drawable.blackk));

    以上方法调用的都是setBackgroudDrawable()。

    3 android:src属性

    设置为颜色时表现同backgroud属性,设置为图片时,表现受到imageview的大小和scaleType的影响。当没有设置scaleType时,默认使用FIT_CENTER

    scaleType的几种表现形式:

    center:不缩放,按照原图显示,且与imageview居中对齐。不推荐

    centerCrop:保持宽高比进行缩放,直到原图宽或者高都大于ImageView宽高时,从居中部分截取图片填充ImageView。使得图片完全覆盖ImageView。图片可能显示不全。不推荐

    centerInside:保持宽高比进行缩放,直到原图宽或者高都小于ImageView宽高时,从居中部分截取图片填充ImageView。使得Imageview完全显示该图片

    fitStart:保持宽高比,完全填充x方向或者y方向。同时与ImageView的左边和上边对齐。

    fitEnd:保持宽高比,完全填充x方向或者y方向。同时与ImageView的右边和下边对齐。

    fitCenter:保持宽高比,完全填充x方向或者y方向,缩放完成显示在ImageView中央。图片可能不完全填充ImageView。当图片小于Imageview宽高时,会有放大填充效果。默认使用fitCenter

    fitXY:该属性会在X,Y轴上分别进行缩放,使图片完全填充Imageview。类似background属性。

    matrix:可以实现一些图像变换,暂不研究

    4 总结

    使用android:src 为ImageView设置内容。设置了src属性时,其内容的填充方式可以通过android:scaleType方式设置。

    当图片宽高大于imageview时,推荐使用:fitCenter, centerInside。 

    当图片宽高小于imageview时,推荐使用: centerInside。

  • 相关阅读:
    Python爬虫实践 —— 4.好听音乐网轻音乐资源下载
    Python爬虫实践 —— urllib.request和requests
    Python爬虫实践 —— 3.利用爬虫提取返回值,模拟有道词典接口
    Python爬虫实践 —— 2.百度贴吧html文件爬取
    Python爬虫实践 —— 1.对反爬机制的认识
    用gcd库函数求最大公约数
    对结构体进行排序
    python菜鸟入门知识
    python安装及typora使用
    python基础一整型、bool、字符串
  • 原文地址:https://www.cnblogs.com/suiyilaile/p/9035429.html
Copyright © 2020-2023  润新知