Android开发之ImageView控件

本文介绍了如何在Android应用中设置ImageView的图片资源,包括使用`src`指定图片,`scaleType`调整缩放方式,如fitXY、fitCenter等,以及如何通过`maxHeight`和`maxWidth`限制图片尺寸并启用`adjustViewBounds`来自动适应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要属性

android:src 设置图片资源
android:scaleType 设置图片缩放类型
android:maxHeight 最大高度
android:maxWidth 最大宽度
android:adjustViewBounds 调整View的界限

基本框架

需提前在drawable文件夹添加图片资源,这里用博主旅游时拍的风景照为例:
在这里插入图片描述

之后在activity_main.xml中设置好基本框架,就可以在预览中看到我们设置的图片。

<?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
        android:src="@drawable/image1"
        android:layout_width="200dp"
        android:layout_height="200dp"/>


</LinearLayout>

在这里插入图片描述
可以发现,为了能让图片显示在ImageView框中,AS对图片进行了默认等比缩放。

设置缩放类型

如果不想使用默认的等比缩放,可以调整scaleType。如用fitXY可以拉伸图片使其完全填充ImageView。
在这里插入图片描述
除此之外,有众多缩放类型可供选择:

fitStart 保持宽高比缩放图片,直到较长的边与ImageView的边长相等,缩放完成后将图片放在左上角。
fitCenter 默认值,同上放缩后置于中间。
fitEnd 同上放缩后置于右下角。
fitXY 对图像的横纵方向进行独立缩放,使得该图片完全适应ImageView,可能会改变图片的宽高比。
center 保持原图的大小,显示在ImageView的中心,超过ImageView的部分会被裁剪。
centerCrop 保持宽高比缩放图片,直到能覆盖ImageView,超出的部分裁剪。
centerInside保持宽高比缩放图片,直到ImageView能够完全显示图片。(当图片大小大于ImageView时与fitCenter效果一致,当图片小于ImageView时图片不会被放大)
matrix不改变原图大小,将图片置于左上角,超出的部分裁剪。

在这里插入图片描述
在这里插入图片描述

设置最大宽高与自动调整

一般情况下,我们的图片很难刚好与ImageView相等,如果直接将ImageView的宽高属性设置为wrap_content,又容易被现在特别高清的照片“撑爆”,为了调整图片缩放到我们想要的大小,我们可以设置最大宽高,并开启自动调整。

设置前,ImageView被图片撑到屏幕的极限:
在这里插入图片描述
设置后,图片就会被约束到我们设置的极限大小,且ImageView的宽高与图片完全相等:

<ImageView
        android:src="@drawable/image1"
        android:maxHeight="200dp"
        android:maxWidth="200dp"
        android:adjustViewBounds="true"

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShadyPi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值