• ImageView的src和background的区别


    参考资料:

    http://blog.csdn.net/dalleny/article/details/14048375

    http://www.android100.org/html/201508/27/177067.html

    区别如下:

    1、  background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸,如果想要对src进行拉伸的话,使用android:scaleType

    2、  src是图片内容(前景),bg是背景,可以同时使用。

    3、  此外:scaleType只对src起作用;bg可设置透明度

    4、  Src对应的Java代码是:imgView.setImageResource(R.drawable.*)

    Background对应的Java代码是:imgView.setBackgroundResource(R.drawable.*);

    5、  scaleType说明

    CENTER /center 在视图中心显示图片,并且不缩放图片

    CENTER_CROP / centerCrop 按比例缩放图片,使得图片长 (宽)的大于等于视图的相应维度

    CENTER_INSIDE / centerInside 按比例缩放图片,使得图片长 (宽)的小于等于视图的相应维度

    FIT_CENTER / fitCenter 按比例缩放图片到视图的最小边,居中显示

    FIT_END / fitEnd 按比例缩放图片到视图的最小边,显示在视图的下部分位置

    FIT_START / fitStart 把图片按比例扩大/缩小到视图的最小边,显示在视图的上部分位置

    FIT_XY / fitXY 把图片不按比例缩放到视图的大小显示

    MATRIX / matrix 用矩阵来绘制

    区别效果图:

     

    代码:

      1 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
      2     xmlns:tools="http://schemas.android.com/tools"
      3     android:layout_width="match_parent"
      4     android:layout_height="match_parent"
      5     android:background="#00000000"
      6     android:scrollbars="vertical"
      7     tools:context="com.example.imageviewsrcandbg.MainActivity" >
      8 
      9     <LinearLayout
     10         android:layout_width="match_parent"
     11         android:layout_height="wrap_content"
     12         android:orientation="vertical" >
     13 
     14         <TextView
     15             android:layout_width="wrap_content"
     16             android:layout_height="wrap_content"
     17             android:text="1、ImageViewd的src和background的区别:" />
     18 
     19         <TextView
     20             android:layout_width="wrap_content"
     21             android:layout_height="wrap_content"
     22             android:text="(1)background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸。如果想要对src进行拉伸的话,使用android:scaleType" />
     23         <!-- =============================================================== -->
     24         <TextView
     25             android:layout_width="wrap_content"
     26             android:layout_height="wrap_content"
     27             android:text="(1.1)固定的宽高(100*60)ImageView控件background,图片是66" />
     28 
     29         <!-- 固定的宽高ImageView控件 -->
     30 
     31         <ImageView
     32             android:layout_width="100dp"
     33             android:layout_height="60dp"
     34             android:background="@drawable/load_circle" />
     35         <!-- =============================================================== -->
     36         <TextView
     37             android:layout_width="wrap_content"
     38             android:layout_height="wrap_content"
     39             android:text="(1.2)固定的宽高(100*60)ImageView控件src,图片是66" />
     40 
     41         <!-- 固定的宽高ImageView控件 -->
     42 
     43         <ImageView
     44             android:layout_width="100dp"
     45             android:layout_height="60dp"
     46             android:src="@drawable/load_circle" />
     47         <!-- =============================================================== -->
     48         <!-- src和background的结合使用 -->
     49 
     50         <TextView
     51             android:layout_width="wrap_content"
     52             android:layout_height="wrap_content"
     53             android:text="(2)固定的宽高(100*60)ImageView控件src是图片内容(前景),bg是背景,可以同时使用。" />
     54         <!-- 固定的宽高ImageView控件 -->
     55 
     56         <ImageView
     57             android:layout_width="100dp"
     58             android:layout_height="60dp"
     59             android:background="@drawable/load_circle"
     60             android:src="@drawable/load_logo" />
     61         <!-- =============================================================== -->        
     62          <!-- src的拉伸:scaleType -->
     63 
     64         <TextView
     65             android:layout_width="wrap_content"
     66             android:layout_height="wrap_content"
     67             android:text="(3)scaleType只对src起作用,对src进行拉伸(固定的宽高(100*60)ImageView控件)" />
     68         
     69         <TextView
     70             android:layout_width="wrap_content"
     71             android:layout_height="wrap_content"
     72             android:text="(3.1)CENTER /center 在视图中心显示图片,并且不缩放图片" />
     73         
     74         <!-- 固定的宽高ImageView控件 -->
     75         <ImageView
     76             android:layout_width="100dp"
     77             android:layout_height="60dp"
     78             android:src="@drawable/load_circle"
     79             android:scaleType="center"
     80              />
     81         <!-- =============================================================== -->        
     82         <TextView
     83             android:layout_width="wrap_content"
     84             android:layout_height="wrap_content"
     85             android:text="(3.2)CENTER_CROP / centerCrop 按比例缩放图片,使得图片长 (宽)的大于等于视图的相应维度" />
     86         
     87         <!-- 固定的宽高ImageView控件 -->
     88         <ImageView
     89             android:layout_width="100dp"
     90             android:layout_height="60dp"
     91             android:src="@drawable/load_circle"
     92             android:scaleType="centerCrop"
     93              />
     94         <!-- =============================================================== -->        
     95         <TextView
     96             android:layout_width="wrap_content"
     97             android:layout_height="wrap_content"
     98             android:text="(3.3)CENTER_INSIDE / centerInside 按比例缩放图片,使得图片长 (宽)的小于等于视图的相应维度" />
     99         
    100         <!-- 固定的宽高ImageView控件 -->
    101         <ImageView
    102             android:layout_width="100dp"
    103             android:layout_height="60dp"
    104             android:src="@drawable/load_circle"
    105             android:scaleType="centerInside"
    106              />
    107         <!-- =============================================================== -->        
    108         <TextView
    109             android:layout_width="wrap_content"
    110             android:layout_height="wrap_content"
    111             android:text="(3.4)FIT_CENTER / fitCenter 按比例缩放图片到视图的最小边,居中显示" />
    112         
    113         <!-- 固定的宽高ImageView控件 -->
    114         <ImageView
    115             android:layout_width="100dp"
    116             android:layout_height="60dp"
    117             android:src="@drawable/load_circle"
    118             android:scaleType="fitCenter"
    119              />
    120         <!-- =============================================================== -->        
    121         <TextView
    122             android:layout_width="wrap_content"
    123             android:layout_height="wrap_content"
    124             android:text="(3.5)FIT_END / fitEnd 按比例缩放图片到视图的最小边,显示在视图的下部分位置——短边的下面或者右面" />
    125         
    126         <!-- 固定的宽高ImageView控件 -->
    127         <ImageView
    128             android:layout_width="100dp"
    129             android:layout_height="60dp"
    130             android:src="@drawable/load_circle"
    131             android:scaleType="fitEnd"
    132              />
    133         <!-- =============================================================== -->        
    134         <TextView
    135             android:layout_width="wrap_content"
    136             android:layout_height="wrap_content"
    137             android:text="(3.6)FIT_START / fitStart 把图片按比例扩大/缩小到视图的最小边,显示在视图的上部分位置——短边的上面或者左面" />
    138         
    139         <!-- 固定的宽高ImageView控件 -->
    140         <ImageView
    141             android:layout_width="100dp"
    142             android:layout_height="60dp"
    143             android:src="@drawable/load_circle"
    144             android:scaleType="fitStart"
    145              />
    146         <!-- =============================================================== -->        
    147         <TextView
    148             android:layout_width="wrap_content"
    149             android:layout_height="wrap_content"
    150             android:text="(3.7)FIT_XY / fitXY 把图片不按比例缩放到视图的大小显示——类似background" />
    151         
    152         <!-- 固定的宽高ImageView控件 -->
    153         <ImageView
    154             android:layout_width="100dp"
    155             android:layout_height="60dp"
    156             android:src="@drawable/load_circle"
    157             android:scaleType="fitXY"
    158              />
    159         <!-- =============================================================== -->        
    160         <TextView
    161             android:layout_width="wrap_content"
    162             android:layout_height="wrap_content"
    163             android:text="(3.8)MATRIX / matrix 用矩阵来绘制——左上角开始绘制" />
    164         
    165         <!-- 固定的宽高ImageView控件 -->
    166         <ImageView
    167             android:layout_width="100dp"
    168             android:layout_height="60dp"
    169             android:src="@drawable/load_circle"
    170             android:scaleType="matrix"
    171              />
    172     </LinearLayout>
    173 
    174 </ScrollView>
    activity_mian.xml

     素材(采用的是京东的loading图片):

  • 相关阅读:
    C#项目完成PDF文件增加印章操作可指定印章位置
    webBrowser1加载本地文件
    转义示例
    动态调用WebService服务
    C#调用WSDL接口
    VS 控件命名规范
    正则判断是否是数字
    怎么让 arcgis 4 弹出窗 漂亮 支持多个弹出窗 支持vue或者react
    关于arcgis 会主动添加https头的问题
    arcgis 4 整合 d3 实现动画
  • 原文地址:https://www.cnblogs.com/whycxb/p/5031895.html
Copyright © 2020-2023  润新知