ImageView的ScaleType详解

Unity 实战项目 ☀️| 只用一个脚本做一个 刮刮乐 案例,一不小心刮出来一个女朋友!【学习娱乐一下】 只用一个脚本做一个刮刮乐,一不小心刮出来一个女朋友!【学习娱乐一下!】 阅读详情

ScaleType表示ImageView的缩放类型,决定了一张图片在ImageView控件内如何缩放和显示。

ScaleType的官方文档:
https://developer.android.com/reference/android/widget/ImageView.ScaleType.html

ScaleType可以使用java代码或xml属性来设置。


ScaleType是一个枚举类型,定义如下。

public enum ScaleType {
    MATRIX      (0),

    FIT_XY      (1),

    FIT_START   (2),

    FIT_CENTER  (3),

    FIT_END     (4),

    CENTER      (5),

    CENTER_CROP (6),

    CENTER_INSIDE (7);

    ScaleType(int ni) {
        nativeInt = ni;
    }
    final int nativeInt;
}
以centerCrop为例,使用java代码设置,代码为imageView.setScaleType(ImageView.ScaleType.CENTER_CROP)。

在xml布局文件中,可以使用如下属性。
android:scaleType="center"
android:scaleType="centerCrop"
android:scaleType="centerInside"
android:scaleType="fitStart"
android:scaleType="fitCenter"
android:scaleType="fitEnd"
android:scaleType="fitXY"
android:scaleType="matrix"


下面,结合示例详细介绍每一种类型。
首先准备两张示例图片,一张小图和一张大图,分别为adidas1.png(135*135)和adidas2.png(540*540)。
     
然后添加如下xml布局文件。将ImageView的宽高设置为150dp和100dp,以确保小图的尺寸小于ImageView的尺寸,大图的尺寸大于ImageView的尺寸。并将ImageView的背景色设置成灰色(#cccccc),方便查看效果。

<?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:background="#000000"
              android:gravity="center">
    <ImageView
        android:layout_width="150dp"
        android:layout_height="100dp"
        android:background="#cccccc"
        android:scaleType=""
        android:src="@drawable/adidas"/>
</LinearLayout>

进入ScaleType类型的介绍。

CENTER
Center the image in the view, but perform no scaling. 
把图片放置到ImageView的中心,不执行缩放。如果图片尺寸比ImageView小,会有空白区域;如果图片尺寸比ImageView大,图片的中间区域会被裁剪出来显示到ImageView中。
     

CENTER_CROP
Scale the image uniformly (maintain the image's aspect ratio) so that both dimensions (width and height) of the image will be equal to or larger than the corresponding dimension of the view (minus padding). The image is then centered in the view.
把图片放置到ImageView的中心,执行缩放。将图片的宽度和高度按照相同比例缩放,直到图片的宽度大于或者等于ImageView的宽度,同时图片的高度大于或者等于ImageView的高度。
     

CENTER_INSIDE
Scale the image uniformly (maintain the image's aspect ratio) so that both dimensions (width and height) of the image will be equal to or less than the corresponding dimension of the view (minus padding). 
把图片放置到ImageView的中心。如果图片的尺寸小于ImageView的尺寸,不缩放;否则,将图片的宽度和高度按照相同比例缩放,直到图片的宽度小于ImageView的宽度,同时图片的高度小于ImageView的高度。
     

FIT_CENTER
Scale the image using CENTER. 
把图片放置到ImageView的中心,然后按相同比例放大或缩小,直到图片宽度等于ImageView宽度,或者高度等于ImageView高度。
     

FIT_START
Scale the image using START. 
把图片放置到ImageView的左上角,然后按相同比例放大或缩小,直到图片宽度等于ImageView宽度,或者高度等于ImageView高度。
     

FIT_END
Scale the image using END. 
把图片放置到ImageView的右下角,然后按相同比例放大或缩小,直到图片宽度等于ImageView宽度,或者高度等于ImageView高度。
     

FIT_XY
Scale the image using FILL.
不保持图片的宽高比例,执行放大或缩小,直到图片宽度等于ImageView宽度,同时高度等于ImageView高度。
    

MATRIX
Scale using the image matrix when drawing. The image matrix can be set using setImageMatrix(Matrix).
不缩放图片,用图片的矩阵从左上角开始来绘制。

     


CentOS 7 Linux yum 安装 Docker,解决 Docker 镜像拉取失败问题 本文详细介绍了在 CentOS 7 系统上通过 yum 安装 Docker 的完整流程,包括卸载旧版本、配置阿里云国内镜像源、安装 Docker 及其组件、设置日志限制等关键步骤。针对国内用户常见的 Docker 镜像拉取失败问题,提供了两种实用解决方案:配置镜像加速器或通过代理访问官方源,并附带验证方法与排错指南,帮助读者高效完成 Docker 环境部署。 阅读详情

相关推荐

Star CCM+中衍生零部件下的阈值应用与区域内删除目标网格

同样的在绘制网格结束后,有时出现负体积网格或质量差的网格,为了节约时间成本,可能会选择将负体积的网格或质量差的网格删除。弹出相应的窗口,在窗口中选择相应的区域①,选择标量函数②(此处以网格体积变化为例),选择模型③,设置阈值④,选择No Dispalyer,会根据需求选择显示,最后点击Create⑥完成创建。此处以温度为例,若出现温度异常点,首先在①栏中勾选Function,然后在下面点击⑤Select,在弹出的Function窗口中选择温度场函数,再点击④Identify,查找温度异常网格数量。

2201_75375391的博客 2222

Android ImageView的scaleType详解

ImageView 是 Android 中最常用的控件之一,而在使用ImageView时,必不可少的会使用到它的scaleType属性。该属性指定了你想让ImageView如何显示图片,包括是否进行缩放、等比缩放、缩放后展示位置等。Android 提供了八种scaleType的属性值,每种都对应了一种展示方式,下面就对每一种scaleType属性值进行解释。 ImageView的scaleType的属性值有 MATRIX,FIT_XY,FIT_START,FIT_END,FIT_CENTER,CENTER,

ruanyandong的博客 3万+

S32K344 Bootloader实战:一个按键实现从Boot到App的无缝跳转(附完整代码)

本文详细介绍了基于NXP S32K344微控制器的Bootloader开发实战,重点解析如何通过一个硬件按键实现从Boot到App的可靠跳转。内容涵盖内存分区规划、中断向量表重映射、外设初始状态管理等核心要素,并提供了完整的代码示例和调试技巧,适用于汽车电子和工业控制等高可靠性应用场景。

weixin_29192365的博客 307

android:scaleType属性说明

目录 一. ScaleType属性的八种缩放规则说明 二. ScaleType属性的八种缩放效果图演示 三. ImageView.ScaleType自定义缩放规则,等比缩放,完整显示,拒绝变形 四. ImageView.setImageBitmap动态缩放图片,等比缩放,完整显示,拒绝变形 一. ScaleType属性的八种缩放规则说明 属性 说明 center ...

wangyongqi的博客 1万+

逆向工程实战:解密AppleAccount的X-MMe-Nas-Qualify签名生成机制

本文通过逆向工程实战,详细解析了AppleAccount服务中X-MMe-Nas-Qualify签名的生成机制。作者利用Frida进行动态追踪定位签名源头,结合IDA Pro进行静态分析,并借助LLDB动态调试还原核心算法。文章最终分享了如何独立于苹果官方库,通过Python代码复现签名算法,为自动化测试和深度交互苹果服务的开发者提供了关键技术路径。

weixin_29323049的博客 706

手把手教你用闲置安卓手机搭建个人收款系统(蓝鲸支付私有化部署实战)

本文详细介绍了如何利用闲置安卓手机搭建个人收款系统,实现私有化支付部署。通过开源技术栈和容器化方案,零成本构建安全、高效的支付网关,解决传统支付平台的数据安全和资金风险问题。特别适合个人开发者和小微企业主,无需复杂审批,资金实时到账,显著降低运营成本。

weixin_30363285的博客 380

ImageView的八种ScaleType

android ImageView ScaleType

Jun_P的博客 2972

基于CNN网络的轴承故障诊断

内容参考:《基于卷积神经网络的轴承故障 诊断算法研究》–张伟 代码参考: https://github.com/AaronCosmos/wdcnn_bearning_fault_diagnosis 1 背景: 基于信号处理的特征提取+分类器的传统智能诊断算法,对专家经验要求高,设计耗时且不能保证通用性,已经不能满足机械大数据的要求。提出使用基于卷积神经网络智能诊断算法来自动完成特征提取以及故障识别。 1.1 挑战 机电产品故障诊断面临的挑战,有三大特点: (1)数据量大,专业分析人员的数量严重不足,仅依靠人

weixin_45679938的博客 7万+

scaleType的详细解释

scaleType的详细解释

天高任鹏飞 2万+

无人机通信电台--XBee-PRO 900HP (S3B)

XBee PRO S3B也称为XBee-900HP无线模块,它是一款工作在频段900~928MHz之间,基于FHSS跳频技术的远距离无线数传电台核心模块。常用型号如下: 类别 型号 开发套件 XKB9-DMT-UHP XBee-PRO 900HP (S3B) DigiMesh模块,200Kbps,软天线 XBP9B-DMWT-002 XBee-PRO 900HP (S3B)...

low米的博客 4505

【25届数字IC秋招总结】面试经验7——联发科

25届数字ic面试记录——联发科

lalala0635的博客 981

Android ImageView 的scaleType 属性图解

Android ImageView 的scaleType 属性图解

似霰的博客 8336

课题申报新手入门必备指南!利用AI辅助搞定 6大关键部分,高效提升申报成功率(附AI提示词)

以下是我(或团队)与本课题相关的已有基础:【如:承担过的公开课、校本教研活动、教学改革实践、课程建设、区级/校级课题、教学反思积累等】请你完成以下任务:1)判断哪些内容与本课题的研究目标和内容具有直接或间接关联;以下是我当前的研究设想(可能比较笼统):【填写你的研究想法 / 教学困惑 / 初步设想】,请你帮我完成以下任务:1)先判断该设想中隐含的核心研究问题是什么;以下是我目前拟定的研究目标,请你从课题评审视角进行校正:【逐条粘贴你已有的研究目标】,请你帮我:1)判断每个目标是否具体、清晰、可评估;

智能AI让学术科研更容易 917

[Android] ImageView.ScaleType设置图解

ImageView的Scaletype决定了图片在View上显示时的样子,如进行何种比例的缩放,及显示图片的整体还是部分,等等。 设置的方式包括: 1. 在layout xml中定义android:scaleType="CENTER" 2. 或在代码中调用imageView.setScaleType(ImageView.ScaleType.CENTER); 接下来,将对Scal

晓Y的专栏 42万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

android imageview scaletype 按钮状态,Android ImageView 之 ScaleType 详解

基础储备在 ImageView 中有一个成员变量mDrawMatrix,这个变量是Matrix(矩阵)类型,我们了解一下这个Matrix类,Matrix 常见的方法有setScale(sx,sy) ,setTranslate(float dx, float dy)等方法. 在设置了mDrawMatrix的一系列方法后, 当ImageView方法里的 onDraw(canvas)执行时候,canva...

weixin_35697229的博客 337

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

ImageView.ScaleType属性

ImageView的Scaletype决定了图片在View上显示时的样子,如进行何种比例的缩放,及显示图片的整体还是部分,等等。 设置的方式包括: 1. 在layout xml中定义android:scaleType="CENTER" 2. 或在代码中调用imageView.setScaleType(ImageView.ScaleType.CENTER);

Android移动开发者的专栏 1万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Android ImageView scaleType使用

ImageView scaleType详解

zyy_give的博客 2125

Android中ImageView控件的ScaleType属性使用详解

在我们平时的开发过程中,可以说图片展示是每个App必备的,所以我们会用到ImageView图片控件,对于每个Android开发者来说,这已经非常熟悉了,那有童鞋就会问了:这还有什么好讲的呢?事实确实是这样吗? 那我问问你,你确定对ImageView控件的每个属性都了如指掌了吗?,记得之前面试的时候,很多面试官很喜欢问ScaleType属性的使用,这就考察你是否真的理解了。之前我也并没有在意这个属性...

龙旋的博客 1万+

ImageView和Glide的ScaleType

1 先看ImageView的ScaleType 原始图像如下 分为三大类, 分别是 MATRIX, 需要与ImageView的setImageMatrix配合使用 FIT家族, 分别有: FIT_XY,FIT_START,FIT_CENTER,FIT_END CENTER家族, 分别有CENTER,CENTER_CORP,CENTER_INSIDE 依次介绍效果 1.1 CENTER家族 1.1.1 CENTER center是最老实的显示方式, 表示将Bitmap进行老老实实居中显示, 也不放大,

柚子君的博客 1475

ImageView 的 scaleType 属性

ImageView的属性android:scaleType,即 ImageView.setScaleType(ImageView.ScaleType.fitCenter)

dgdisme 3405

ImageView ScaleType

<?xml version="1.0" encoding="utf-8"?> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" xmlns:android="http:/...

dxm809的博客 293

ImageView scaleType属性

1、android:scaleType=”matrix” 表示不改变原图的大小,从lmageView的左上角开始绘制原图,原图超过lmageView的部分做裁剪处理。 2、android:scaleType=“center” (1)当图片大于ImageView的宽高:以图片的中心点和ImageView的中心点为基准,按照图片的原大小居 中显示,不缩放,用ImageView的大小截取图片的居中部分。...

已厌倦的博客 346

android imageview scaletype,ImageView的scaleType知识总结

来源:若兰明月ImageView的ScaleType决定了图片在View上的显示的样式,比如如何对图片进行缩放,显示图片整体还是部分,还是根据自己的需求进行相关显示。设置比较简单:xml中如下定义:android:scaleType="center"或者代码中如下定义:imageView.setScaleType(ImageView.ScaleType.CENTER);首先我们先来看下我们最终需要...

weixin_39624864的博客 404

ImageView的ScaleType之见解

ImageView的ScaleType属性,表示的是ImageView中资源图片的填充方式。scaleType的属性值有好几种,分别是: matrix(默认) center centerCrop centerInside fitCenter fitEnd fitStart fitXY 这里要注意:matrix表示一种填充方式叫默认填充,如果布局和代码中不设置ScaleType属性,ImageView

jiashuai94的博客 1599

ImageView的scaleType知识总结

ImageView的scaleType知识总结

wuyinlei的博客 734

Android开发——ImageView的ScaleType属性

        这几天做的小demo里面都有用到ImageView,那么使用ImageView的话必不可少是需要设置ScaleType属性的。而我自己记性不是特别好,每次都需要去网上查需要的对应值。于是便寻思着自己把所有的ScaleType属性都写一遍并记录下来,这样牢固记忆,下次忘记的时候也方便查阅。话不多说,一起来学习吧,相信结合图片大家能看得很明白。        第一种情况:图片大小大于I...

qq_37282792的博客 947
上一篇: 逐帧动画详解
下一篇: selector的使用及执行流程
ruancoder
博客等级 码龄10年 42粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值