为了让App界面更好看活泼,咱们能够放上图片。 显示图片是“刚需”。不论是书籍,报纸,网站,都有显示图片的需要。毕竟“无图无假相”。 在 Android 利用开发中,咱们通常应用 ImageView 来显示图片。

ImageView的次要属性

ImageView的应用

ImageView常常用来显示图片。例如间接显示drawable里的图片资源。 ImageView显示的是Drawable对象。

src 与 backGround 的区别

在 layout xml 中,咱们先来看一下 src 与 backGround 的区别。

  • backGround 是 View(ImageView是View的子类)的背景,会把图片拉大铺满整个View。
  • src 是 ImageView 的属性,承受要展现的图片资源。

为不便后续表述,先给ImageView指定一个style,对立大小。再设置一个默认背景色彩。

<style name="IvDemo1">    <item name="android:layout_width">100dp</item>    <item name="android:layout_height">80dp</item>    <item name="android:background">#929292</item>    <item name="android:layout_marginTop">4dp</item></style>

在 drawable目录中减少一张图片。图片的宽长比和 style 设置的不一样。不便咱们查看图片成果。

在示例 xml 中,展现 src 与 backGround 的区别。

<ImageView    style="@style/IvDemo1"    android:background="@drawable/pic_2_robots" /><ImageView    style="@style/IvDemo1"    android:layout_marginStart="20dp"    android:src="@drawable/pic_2_robots" />

成果:

右边是设置为了background,能够看到图片被拉伸铺满了整个ImageView。 而且图片有一点变形。那是因为图片的宽长比和 ImageView 的宽长比不统一。

左边设置了src,能够看到图片并没有铺满。左边图片的显示方式,就是咱们接下来要介绍的 scaleType。

scaleType,图片显示方式

设置了src后,再设置scaleType,能确定图片的显示成果。

 <ImageView    style="@style/IvDemo1"    android:scaleType="fitXY"    android:src="@drawable/pic_2_robots" />

实际上,src除了用drawable里的资源,也能够用mipmap。

<ImageView    style="@style/IvDemo1"    android:layout_marginStart="20dp"    android:scaleType="center"    android:src="@mipmap/ic_launcher" />

scaleType取值:

  • fitStart
  • fitCenter
  • fitEnd
  • fitXY
  • center
  • centerCrop
  • centerInside
  • matrix
带有“fit”字样的,会显示图片的全部内容。 fitStart,fitCenter,fitEnd 图片会按原比例显示。 图片会往指定的方向聚拢。 fitXY会拉伸图片,铺满整个ImageView。

center,centerCrop,centerInside 都是尽可能显示图片的两头局部。

  • center 不缩放图片,如果图片比 ImageView 大,则会显示图片两头的局部。
  • centerCrop,尽可能多的显示图片的两头局部。
  • centerInside,把图片放到两头去显示,不会尝试铺满ImageView。

matrix 把图片铺在ImageView左上角,并且不缩放图片。

设置图片透明度,alpha

设置 alpha 值,能扭转整个 ImageView 的透明度。

 <ImageView    style="@style/IvDemo1"    android:layout_marginStart="20dp"    android:alpha="0.9"    android:scaleType="fitCenter"    android:src="@drawable/pic_2_robots" />

例子:

ImageView 视频教程参考