为了让App界面更美观生动,我们可以放上图片。 显示图片是“刚需”。不论是书籍,报纸,网站,都有显示图片的需求。毕竟“无图无真相”。 在 Android 应用开发中,我们通常使用 ImageView
来显示图片。
ImageView经常用来显示图片。例如直接显示drawable里的图片资源。 ImageView显示的是Drawable对象。
在 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。
设置了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取值:
带有“fit”字样的,会显示图片的全部内容。
fitStart,fitCenter,fitEnd
图片会按原比例显示。 图片会往指定的方向靠拢。 fitXY会拉伸图片,铺满整个ImageView。
center,centerCrop,centerInside
都是尽可能显示图片的中间部分。
matrix
把图片铺在ImageView左上角,并且不缩放图片。
设置 alpha
值,能改变整个 ImageView 的透明度。
<ImageView
style="@style/IvDemo1"
android:layout_marginStart="20dp"
android:alpha="0.9"
android:scaleType="fitCenter"
android:src="@drawable/pic_2_robots" />
例子:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。