您的位置:

Android Studio中ImageView的常见用法举例

Android Studio中ImageView的常见用法举例

更新:

一、常规用法

在Android Studio中,总的来说,ImageView就是用来显示图片的控件。如果你想要显示一张图片,首先需要将图片放入到项目的res/drawable文件夹下。然后,设置ImageView的src属性,来指定图片的资源ID即可。


    <ImageView
        android:id="@+id/iv_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/image1" />

其中@drawable/image1就是指定了图片的资源ID。

ImageView的android:layout_widthandroid:layout_height属性用来控制ImageView的大小。

二、图片缩放

在图片在ImageView中显示时,经常需要对图片进行缩放,以适应不同的屏幕大小和分辨率。

ImageView提供了以下几种缩放方式:

1.按比例缩放

在使用此缩放方式时,有可能会出现图片平铺或裁剪的情况。


    <ImageView
        android:id="@+id/iv_2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/image2"
        android:scaleType="centerCrop" />

其中, android:scaleType="centerCrop"表示将图片按比例缩放并裁剪到ImageView中间区域。

2.拉伸填充

按比例拉伸图片来填充ImageView,存在着图片失真的情况。


    <ImageView
        android:id="@+id/iv_3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/image3"
        android:scaleType="fitXY" />

其中, android:scaleType="fitXY"表示将图片按比例缩放并填充整个ImageView。

3.按比例缩放,不留空白

按比例缩放图片直到完全适应ImageView,并且ImageView上下或者左右显示完全。


    <ImageView
        android:id="@+id/iv_4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/image4"
        android:scaleType="fitCenter" />

其中, android:scaleType="fitCenter"表示将图片按比例缩放并显示在ImageView中心。

三、圆形或圆角图片

有时候,需要把图片显示为圆形或者圆角矩形,这里介绍两种实现方式。

1.圆形图片

使用res/drawable目录下的图片资源时,可以直接使用CircleImageView库实现圆形图片的效果。


    <de.hdodenhof.circleimageview.CircleImageView
        android:id="@+id/iv_5"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:src="@drawable/image5" />

如果采用网络图片或者本地图片,需使用Glide或者Picasso等图片加载库。


    <com.bumptech.glide.request.target.ImageViewTarget
        android:id="@+id/iv_6"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:src="@drawable/placeholder"
        app:srcCompat="@drawable/placeholder" />

其中需要设置app:srcCompat="@drawable/placeholder"为默认图片,当网络图片或者加载错误时显示该图片。

2.圆角矩形图片

使用CardViewRoundImageView实现圆角矩形图片的效果。


    <androidx.cardview.widget.CardView
        android:id="@+id/cv_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:cardCornerRadius="10dp"
        app:cardElevation="5dp">

        <com.makeramen.roundedimageview.RoundedImageView
            android:id="@+id/iv_7"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:src="@drawable/image7"
            app:riv_corner_radius="10dp" />

    </androidx.cardview.widget.CardView>

其中,app:cardCornerRadius设置CardView的圆角半径,app:cardElevation设置CardView的阴影大小;app:riv_corner_radius设置RoundImageView的圆角半径。

四、响应点击事件

进行业务中,需要对ImageView进行点击事件处理。使用setOnclickListener方法实现点击事件处理。


    iv_1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //处理点击事件
        }
    });

五、动画效果

可以通过Animation实现图片的动画效果。

1.平移动画

让图片在X、Y方向移动。


    <ImageView
        android:id="@+id/iv_8"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:src="@drawable/image8" />

xml文件中设置动画效果。


    <translate xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="1000"
        android:fromXDelta="0"
        android:fromYDelta="0"
        android:toXDelta="200"
        android:toYDelta="200" />

代码中添加动画效果。


    // 加载XML动画设置文件
    Animation animation = AnimationUtils.loadAnimation(this,
            R.anim.translate);
    // 启动动画
    iv_8.startAnimation(animation);

2.旋转动画

基于X、Y、Z轴对图片进行旋转动画。


    <ImageView
        android:id="@+id/iv_9"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:src="@drawable/image9" />

xml文件中设置动画效果。


    <rotate xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="500"
        android:fromDegrees="0"
        android:interpolator="@android:anim/decelerate_interpolator"
        android:pivotX="50%"
        android:pivotY="50%"
        android:repeatCount="-1"
        android:toDegrees="360" />

代码中添加动画效果。


    // 加载XML动画设置文件
    Animation animation = AnimationUtils.loadAnimation(this,
            R.anim.rotate);
    // 启动动画
    iv_9.startAnimation(animation);

3.缩放动画

让图片在X、Y方向缩放。


    <ImageView
        android:id="@+id/iv_10"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:src="@drawable/image10" />

xml文件中设置动画效果。


    <scale xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="1000"
        android:fromXScale="1"
        android:fromYScale="1"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toXScale="2"
        android:toYScale="2" />

代码中添加动画效果。


    // 加载XML动画设置文件
    Animation animation = AnimationUtils.loadAnimation(this,
            R.anim.scale);
    // 启动动画
    iv_10.startAnimation(animation);

六、总结

以上就是Android Studio中ImageView的一些常见用法,涉及到图片的加载、缩放、圆角、点击事件、动画和效果等方面。

Android Studio中ImageView的常见用法举

一、常规用法 在Android Studio中,总的来说,ImageView就是用来显示图片的控件。如果你想要显示一张图片,首先需要将图片放入到项目的res/drawable文件夹下。然后,设置Ima

2023-12-08
简单易用的Android Studio Toast提示框

在Android应用开发中,Toast是一种简单、易用、有效果实的提示框,在用户交互和体验中有着广泛的应用。 一、Toast的基本用法 Android系统提供Toast类,我们只需要创建一个Toast

2023-12-08
Android Studio:为你的移动应用开发提供强大的集

2023-05-14
Android圆形图片

2023-05-19
Android ImageView的ScaleType属性及

一、ScaleType属性介绍 ScaleType是ImageView控件的一个属性。它用于指定ImageView中显示的图片按照何种方式进行缩放和裁剪,以适应ImageView控件的大小。 在And

2023-12-08
Android应用开发中常用的布局方式

2023-05-14
Android Studio登录注册界面实现

2023-05-16
用Picasso轻松实现Android图片加载

2023-05-14
提高Android ImageView显示效果的技巧

ImageView是Android中常用的控件之一,在开发Android应用时经常需要使用该控件来显示图片。但是在使用ImageView时,如果没有注意一些细节,可能会导致图片显示效果不够理想,影响应

2023-12-08
Android Studio4.2.2:提升Android

2023-05-14
Android ImageView重要性与使用方法

2023-05-17
Android Profiler 使用详解

2023-05-17
解决Android Studio中Logcat窗口不可见的方

2023-05-14
提高开发效率的IDEA和Android Studio插件推荐

2023-05-14
用Android Studio创建漂亮的应用设计布局

2023-05-14
提高Android应用加载速度的方法

2023-05-14
实现Android ImageView控件圆角显示

2023-05-14
Android读取assets中文件的方法

2023-05-21
Android自定义View实现圆形ImageView

2023-05-14
Android Studio Fragment使用示例

2023-05-14