安卓开发之ImageView

来源:互联网 发布:全国十大网络品牌 编辑:程序博客网 时间:2024/06/06 00:38


1)2个属性分别

background通常指的都是背景,而src指的是内容!!

当使用src填入图片时,是按照图片大小直接填充,并不会进行拉伸

而使用background填入图片,则是会根据ImageView给定的宽度来进行拉伸

二图片变形拉伸问题

2) 解决blackground拉伸导致图片变形的方法

动态加载ImageView只要在添加View的时候,把大小写死就可以了

LinearLayout.LayoutParams layoutParam = new LinearLayout.LayoutParams(48, 48);            layout.addView(ibtnPen, layoutParam); 

3)src+background两者结合妙用:可以设置一个背景然后讲图片填充到背景上

android:src="@drawable/pig"      android:background="#6699FF" /> 



4)adjustViewBounds设置缩放是否保存原图长宽比

ImageView为我们提供了adjustViewBounds属性,用于设置缩放时是否保持原图长宽比! 单独设置不起作用,需要配合这两个属性 也是需要adjustViewBounds为true才会生效的~

  • android:maxHeight:设置ImageView的最大高度
  • android:maxWidth:设置ImageView的最大宽度
    <ImageView        android:id="@+id/imageView2"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_margin="5px"        android:adjustViewBounds="true"        android:maxHeight="200px"        android:maxWidth="200px"        android:src="@mipmap/meinv" />
5)scaleType设置缩放类型

android:scaleType用于设置显示的图片如何缩放或者移动以适应ImageView的大小 Java代码中可以通过imageView.setScaleType(ImageView.ScaleType.CENTER);来设置~ 可选值如下:

  • fitXY:对图像的横向与纵向进行独立缩放,使得该图片完全适应ImageView,但是图片的横纵比可能会发生改变
  • fitStart:保持纵横比缩放图片,知道较长的边与Image的编程相等,缩放完成后将图片放在ImageView的左上角
  • fitCenter:同上,缩放后放于中间;
  • fitEnd:同上,缩放后放于右下角;
  • center:保持原图的大小,显示在ImageView的中心。当原图的size大于ImageView的size,超过部分裁剪处理。
  • centerCrop:保持横纵比缩放图片,知道完全覆盖ImageView,可能会出现图片的显示不完全
  • centerInside:保持横纵比缩放图片,直到ImageView能够完全地显示图片
  • matrix:默认值,不改变原图的大小,从ImageView的左上角开始绘制原图, 原图超过ImageView的部分作裁剪处理