美文网首页
ImageView基本使用

ImageView基本使用

作者: 者文_ | 来源:发表于2019-08-12 10:57 被阅读0次

    1. ImageView使用

    ImageView是用于在界面上展示图片的一个控件。图片通常都放在以drawable开头的目录下。

    1.1 src与background属性

    示例

    <ImageView
            android:id="@+id/image_view"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/img_1" />
    

    使用android:src属性给ImageView指定了一张图片,由于宽高未知,最好选择wrap_content。

    ImageView有两个可以设置图片的属性,分别是:src和background

    备注

    • background通常指的都是背景,而src指的是内容
    • 当使用src填入图片时,是按照图片大小直接填充,并不会进行拉伸,而使用background填入图片,则是会根据ImageView给定的宽度来进行拉伸

    除了在xml布局文件中指定图片属性,也可以通过代码动态地更改ImageView中地图片

    imageView.setImageResource(R.drawable.img_2);
    

    除此之外,还可以在代码中动态设置background和src属性

    前景(对应src属性):setImageDrawable( );
    背景(对应background属性):setBackgroundDrawable( );

    1.2 adjustViewBounds缩放属性

    该属性用于设置缩放时是否保持原图长宽比单独设置无用,需配合maxWidthmaxHeight属性一起使用。后两个属性的生效也需要该属性为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" />
    

    1.3 scaleType缩放类型

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

    • fitXY

      对图像的横向与纵向进行独立缩放,使得该图片完全适应ImageView,但是图片的横纵比可能会发生改变

    • fitStart:

      保持纵横比缩放图片,直到较长的边与Image的边框相等,缩放完成后将图片放在ImageView的左上角

    • fitCenter:

      同上,缩放后放于中间;

    • fitEnd:

      同上,缩放后放于右下角;

    • center:

      保持原图的大小,显示在ImageView的中心。当原图的size大于ImageView的size,超过部分裁剪处理

    • centerCrop:

      保持横纵比缩放图片,直到完全覆盖ImageView,可能会出现图片的显示不完全

    • centerInside:

      保持横纵比缩放图片,直到ImageView能够完全地显示图片

    • matrix:

      默认值,不改变原图的大小,从ImageView的左上角开始绘制原图, 原图超过ImageView的部分作裁剪处理

    简单示例

    <!-- 保持图片的横纵比缩放,知道该图片能够显示在ImageView组件上,并将缩放好的图片显示在imageView的右下角 -->
        <ImageView
            android:id="@+id/imageView3"
            android:layout_width="300px"
            android:layout_height="300px"
            android:layout_margin="5px"
            android:scaleType="fitEnd"
            android:src="@mipmap/meinv" />
    

    相关文章

      网友评论

          本文标题:ImageView基本使用

          本文链接:https://www.haomeiwen.com/subject/prmyjctx.html