目录
一、ImageView是什么?
ImageView是Android中用于显示图片的控件。下面是ImageView控件常用的参数属性详解:
-
android:id
:控件唯一标识符,用于在布局文件和代码中引用该控件。 -
android:layout_width
:控件的宽度,取值可以为具体数值(如20dp
)、match_parent
(填充父容器的宽度)或wrap_content
(根据内容自适应宽度)。 -
android:layout_height
:控件的高度,取值可以为具体数值(如20dp
)、match_parent
(填充父容器的高度)或wrap_content
(根据内容自适应高度)。 -
android:src
:要显示的图片资源,可以是本地资源(如@drawable/image
)或网络图片(如http://example.com/image.png
)。注意,不能直接使用URL加载网络图片,需要使用第三方库或自定义实现。 -
android:scaleType
:图片的缩放类型。常见的取值有:center
:保持原图大小居中显示。centerCrop
:按比例缩放图片,使其完全填充ImageView,并裁剪超出部分。centerInside
:按比例缩放图片,使其完全显示在ImageView内部,不裁剪。fitCenter
:按比例缩放图片,使其完整显示在ImageView内部,不裁剪,并保持图片原始比例。
-
android:adjustViewBounds
:是否根据图片的宽高比自动调整ImageView的大小。 -
android:tint
:设置图片的着色颜色。 -
android:background
:设置ImageView的背景,可以是颜色值或者图片资源。 -
android:baselineAlignBottom
:是否将基线与底部对齐,默认为false。当ImageView用作文字图标时,可以使用该属性控制对齐方式。 -
android:contentDescription
:用于辅助功能的描述文本,通常用于无障碍功能。
以上是ImageView控件常用的参数属性,可以根据需要进行配置,以展示或处理不同的图片显示效果和交互行为。
二、使用步骤
1.demo
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".DictionaryTableActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:ignore="MissingConstraints"
tools:layout_editor_absoluteX="26dp"
tools:layout_editor_absoluteY="0dp">
<Button
android:id="@+id/button_2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="button"
tools:ignore="MissingConstraints" />
<ImageView
android:id="@+id/img_1"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="match_parent">
</ImageView>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
package com.qiqi.english;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;
public class DictionaryTableActivity extends AppCompatActivity implements View.OnClickListener {
private ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dictionary_table);
Button button = (Button) findViewById(R.id.button_2);
imageView = (ImageView) findViewById(R.id.img_1);
imageView.setImageResource(R.drawable.img_01);
button.setOnClickListener(this);
}
@SuppressLint("NonConstantResourceId")
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.button_2:
imageView.setImageResource(R.drawable.img_02);
break;
default:
break;
}
}
}
2.ImageView方法
ImageView是Android中用于显示图片的控件,除了属性参数之外,还有一些常用的方法可以操作和管理ImageView。下面是ImageView常用的方法详解:
-
setImageResource(int resId)
:设置要显示的图片资源,参数为本地资源的ID。 -
setImageDrawable(Drawable drawable)
:设置要显示的图片,参数为Drawable对象。 -
setImageURI(Uri uri)
:设置要显示的图片,参数为图片的URI。 -
setScaleType(ImageView.ScaleType scaleType)
:设置图片的缩放类型,参数为ImageView.ScaleType枚举值,如SCALE_TYPE_CENTER_INSIDE
、SCALE_TYPE_CENTER_CROP
等。 -
setAdjustViewBounds(boolean adjustViewBounds)
:设置是否根据图片的宽高比自动调整ImageView的大小。 -
getDrawable()
:获取当前显示的图片Drawable对象。 -
setImageMatrix(Matrix matrix)
:设置用于改变图片矩阵的Matrix对象,可实现图像的旋转、移动、缩放等效果。 -
getDrawableState()
:获取ImageView的当前状态,返回一个包含状态信息的int数组。 -
setColorFilter(ColorFilter colorFilter)
:设置颜色过滤器,可以用来修改图片的颜色。 -
clearColorFilter()
:清除颜色过滤器,恢复原始颜色。 -
setScaleX(float scaleX)
、setScaleY(float scaleY)
:设置图片的水平和垂直缩放比例。 -
isOpaque()
:判断图片是否是不透明的。 -
getDrawableTintMode()
、getDrawableTintList()
:获取图片的着色模式和着色颜色列表。 -
setImageLevel(int level)
:设置ImageView的级别,通常用于切换不同状态下的图片。
这些是ImageView常用的方法,可以通过调用这些方法实现对ImageView中显示的图片进行操作、更改显示效果、处理交互等功能。