Android ImageView

分享到:

ImageView控件是一种专门用来显示图片的容器,凡是需要显示图片的地方都可以用到它。官方给出的定义是这样的:显示任意图像,例如图标。ImageView类可以加载各种来源的图片(如资源或图片库),需要计算图像的尺寸,比便它可以在其他布局中使用,并提供例如缩放和着色(渲染)各种显示选项

ImageView主要XML属性:

android:src
设置ImageView需要显示的图片资源 例如:android:src="@drawable/ic_launcher" ,表示把项目图标做为资源显示到ImageView上
android:scaleType
设置图片在ImageView中的填充方式,此属性包含多个值
android:scaleType="matrix" ,以ImageView左上角为顶点按原图大小显示,不进行任何缩放,如下图:

android:scaleType="fitXY" ,拉伸图片(不按比例)以填充ImageView的宽高,如下图:

android:scaleType="fitStart" ,按比例拉伸图片,拉伸图片的高度为ImageView的高度,并且显示在ImageView的左侧,如下图:

android:scaleType="fitCenter" ,按比例拉伸图片,拉伸图片的高度为ImageView的高度,并且显示在ImageView的中间,如下图:

android:scaleType="fitEnd" ,按比例拉伸图片,拉伸图片的高度为ImageView的高度,并且显示在ImageView的右侧,如下图:

android:scaleType="center" ,在ImageView中央按原图大小显示,但图片宽高大于ImageView的宽高时,将截图图片中间部分显示,如下图:

android:scaleType="centerCrop" ,按比例放大原图直至某边等于ImageView的宽高,如下图:

android:scaleType="centerInside" ,当原图小于等于View的宽高时按原图大小居中显示;否则将原图缩放至ImageView的宽高居中显示,如下图:
android:maxHeight
设置ImageView的最大高度,需要与setAdjustViewBounds一起使用如果想设置图片固定大小,又想保持图片宽高比,需要如下设置:
(1) 设置setAdjustViewBounds为true;
(2) 设置maxWidth、MaxHeight;
(3) 设置设置layout_width和layout_height为wrap_content。
android:maxWidth
设置ImageView的最大宽度,使用方法与android:maxHeight相同

上述ImageView属性scaleType对应的各种显示方式,XML代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          android:id="@+id/LinearLayout1"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:orientation="vertical">

         <ScrollView
          android:id="@+id/scrollView1"
          android:layout_width="match_parent"
          android:layout_height="wrap_content" >
         <LinearLayout
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:orientation="vertical" >
         <ImageView
          android:id="@+id/imageView1"
          android:layout_width="300dp"
          android:layout_height="60dp"
          android:background="#000000"
          android:scaleType="matrix"
          android:src="@drawable/ic_launcher" />
         <ImageView
          android:id="@+id/imageView2"
          android:layout_width="300dp"
          android:layout_height="60dp"
          android:background="#000000"
          android:scaleType="fitXY"
          android:src="@drawable/ic_launcher" />
         <ImageView
          android:id="@+id/imageView3"
          android:layout_width="300dp"
          android:layout_height="60dp"
          android:background="#000000"
          android:scaleType="fitStart"
          android:src="@drawable/ic_launcher" />
         <ImageView
          android:id="@+id/imageView4"
          android:layout_width="300dp"
          android:layout_height="60dp"
          android:background="#000000"
          android:scaleType="fitCenter"
          android:src="@drawable/ic_launcher" />
         <ImageView
          android:id="@+id/imageView5"
          android:layout_width="300dp"
          android:layout_height="60dp"
          android:background="#000000"
          android:scaleType="fitEnd"
          android:src="@drawable/ic_launcher" />
         <ImageView
          android:id="@+id/imageView6"
          android:layout_width="300dp"
          android:layout_height="60dp"
          android:background="#000000"
          android:scaleType="center"
          android:src="@drawable/ic_launcher" />
         <ImageView
          android:id="@+id/imageView7"
          android:layout_width="300dp"
          android:layout_height="60dp"
          android:background="#000000"
          android:scaleType="centerCrop"
          android:src="@drawable/ic_launcher" />
         <ImageView
          android:id="@+id/imageView8"
          android:layout_width="300dp"
          android:layout_height="60dp"
          android:background="#000000"
          android:scaleType="centerInside"
          android:src="@drawable/ic_launcher" />
  </LinearLayout>
 </ScrollView>
</LinearLayout>   
昵    称:
验证码:

相关文档:

Android控件
Android基础知识
Android组件
Android实例