ImageView是一个可以显示任何图片资源的控件,同时可以调整图片的像素,显示的位置,图片的滚动等问题。
ImageView有很多常用的属性,下面会一一解释。先看布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!-- 按比例缩小图片以适应ImageView的大小 -->
<ImageView
android:id="@+id/img1"
android:adjustViewBounds="true" //是否按比例缩小
android:maxWidth="150dp"
android:maxHeight="150dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/second"
android:layout_gravity="center_horizontal"
/>
<!-- 放大/缩小图片以适应ImageView大小 -->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/img31"
android:layout_width="50dp"
android:layout_height="70dp"
android:src="@drawable/ic_launcher"
android:scaleType="fitStart"/> //以左上角为起点,把图等比例放大直到宽达到50或高达到70
<ImageView
android:id="@+id/img32"
android:layout_width="50dp"
android:layout_height="70dp"
android:src="@drawable/ic_launcher"
android:scaleType="fitXY"/> //填满50*70的空间
<ImageView
android:id="@+id/img33"
android:layout_width="50dp"
android:layout_height="70dp"
android:src="@drawable/ic_launcher"
android:scaleType="fitEnd"/> //以右下角为起点,把图等比例放大直到宽达到50或高达到70
<ImageView
android:id="@+id/img34"
android:layout_width="50dp"
android:layout_height="70dp"
android:src="@drawable/ic_launcher"
android:scaleType="fitCenter"/> //以中心为起点,把图等比例放大直到宽达到50或高达到70
<ImageView
android:id="@+id/img35"
android:layout_width="50dp"
android:layout_height="70dp"
android:src="@drawable/ic_launcher"
android:scaleType="centerCrop"/> //以中心为起点,把图缩放到宽>=50&&高>=70为止
<ImageView
android:id="@+id/img36"
android:layout_width="50dp"
android:layout_height="70dp"
android:src="@drawable/ic_launcher"
android:scaleType="centerInside"/> //以中心为起点,吧图缩放到适合50*70的空间。即都是小于等于。
</LinearLayout>
<!-- 剪切图片以适应内边距大小 -->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/img21"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"/>
<ImageView
android:id="@+id/img22"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"
android:cropToPadding="true" //向上滚动20dp
android:scrollY="20dp"/>
<ImageView
android:id="@+id/img23"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"
android:cropToPadding="true" //向下滚动20dp
android:scrollY="-20dp"/>
<ImageView
android:id="@+id/img24"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"
android:tint="#FF0000"/> //对视图进行颜色渲染
</LinearLayout>
<!-- 图片较大时, ImageView会自动缩小图片,占用可以使用的全部屏幕空间 -->
<ImageView
android:id="@+id/img4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/first"/>
</LinearLayout>
运行结果如下:
对于后台的操作了解的不太多,比如
img.setImageAlpha(x);x从0~255,由透明变得不透明,其中50是半透明。
img.setScaleType(ImageView.ScaleType.X);x是scaletype属性,不过activity中跟xml有所不同,比如img.setScaleType(ImageView.ScaleType.FIT_END);靠系统提示吧。
文件源码地址:https://download.csdn.net/download/qq_38367681/10778481