ImageView静态设置参数
静态设置ImageView参数
- 需求:一个尺寸原比例完整显示
- 代码实现
- 注释
需求:一个尺寸原比例完整显示
- 在 ImageView 的使用过程中,我需要 指定一个参数 如
layout_width
,而另一个参数设置为wrap_content
; - 我希望图片保持 原比例 显示在控件上;
- 我希望图片 完整显示 在控件上,如果图片小于控件那么就按比例放大,如果图片小与控件那就按比例缩小
代码实现
<ImageViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:adjustViewBounds="true"android:scaleType="centerCrop"android:src="@drawable/ic_launcher" />
注释
android:adjustViewBounds="true"
即:调整 ImageView 的尺寸来保持图像纵横比不变。- 使用这个参数,必须有一个边界是固定的,如果 ImageView 的宽高都是
wrap_content
那么这句设置是无效的; - 并不意味着,ImageView 的宽高比一定等于图片的宽高比。这是因为,当仅使用该句时,如果图片的宽小于 ImageView 中指定的宽时那么 ImageView 的高就是图片的高,而宽并不填充;如果图片的宽 大于等于 ImageView 指定的宽时,此时 ImageView 的高将会根据图片比例设置;
- 使用这个参数,必须有一个边界是固定的,如果 ImageView 的宽高都是
android:scaleType="centerCrop"
即:控件中心和原始图片中心重叠,图片等比例缩放;以原图填满 控件 为目的;原图不见得一定会完全显示;- 如果原图比例 > 控件比例,则按照控件高 / 图片高进行等比例缩放,保证图片宽度在进行同等比例缩放的时候,图片宽度大于或等于控件的宽度;
- 如果原图比例 < 控件比例,则按照控件宽/图片宽进行等比例缩放,保证图片高度在进行同等比例缩放的时候,图片高度大于或等于控件的高度。
android:scaleType="centerInside"
即:以原图正常显示为目的,- 如果原图size 大于 ImageView 的 size,就按照比例缩小原图的宽高,居中显示在ImageView中。
- 如果原图 size 小于 ImageView 的 size,则不做处理居中显示图片。
- 注意:这个看似完美的属性,其实不符合我们的要求,因为我这里只有一个参数固定,如果使用这句,那么控件的高,将会按照图片比例进行缩放空间大小;这就出现如下情况,对于小图我希望像图一所示,但实际上,结果是图二;
android:src="@drawable/ic_launcher"
src 存放的是原图的大小,不会进行拉伸;background会根据 ImageView 组件给定的长宽进行拉伸。src 是设置图标,而background只是设置背景。- 如果事先大概知道图片比空间尺寸大,那么可以使用本方法;
ImageView静态设置参数相关推荐
- camera(17)---设置摄像头方向、打开线程与预览线程、设置参数、Camera外设按键、自动对焦与触摸对焦、拍照、人脸检测、位置管理、旋转管理、变焦、录像
[Android]设置摄像头方向.打开线程与预览线程.设置参数.Camera外设按键.自动对焦与触摸对焦.拍照.人脸检测.位置管理.旋转管理.变焦.录像 阅读数:1673 设置摄像头方向.打开线程与预 ...
- android 拍摄视频设置参数,手机如何设置参数,才能拍出高清视频?
原标题:手机如何设置参数,才能拍出高清视频? 有的人用着最新款的手机,但是拍着最模糊的视频和照片. 所以,当你拿起手机的时候,要先了解它有什么功能,虽然现在智能手机都是自动设置的,但是也要根据自己的需 ...
- 剪映导出帧率选多少_自媒体视频剪辑:巧影导出视频时如何设置参数?分辨率、帧率、码率该如何选择...
原标题:自媒体视频剪辑:巧影导出视频时如何设置参数?分辨率.帧率.码率该如何选择 深深的话我们浅浅地说,长长的路我们慢慢地走.有缘刷到此文章,感谢你的阅读.觉得文章好的,欢迎点赞.转发.收藏+关注,谢 ...
- RTKLIB 2.4.2后处理PPP设置参数简介
RTKLIB 2.4.2后处理PPP设置参数简介 添加必选文件 通过Options界面配置解算参数并添加可选文件 Setting1选项卡配置参数输入 Setting2选项卡设置整周模糊度固定策略 Ou ...
- Postgresql服务器配置-设置参数
Postgresql服务配置-设置参数 1.Parameter Names and Values 每个参数都有一个值.所有参数名称都不区分大小写.每个参数值都采用五种类型之一: 布尔.字符串.整数.浮 ...
- 开源 java CMS - FreeCMS2.8 栏目页静态化参数
项目地址:http://www.freeteam.cn/ 栏目页静态化参数 在栏目页静态化时,系统会使用此栏目指定的模板文件(如未指定,默认为站点所选模板中的"channel.html&qu ...
- mysql设置参数0和1_MySQL 8.0 首个自适应参数横空出世
什么是自适应参数 MySQL8.0推出一个号称可以自适应服务器的参数,保证在各种不同的服务器.虚拟机.容器下自动适配服务器资源,让我们一起来看看到底它能做到什么地步. 自适应参数是如何设置和适应变化的 ...
- 使用福禄克CFP单模光纤测试仪像专家一样设置参数!
在使用福禄克CFP单模光纤测试仪测试光纤链路时,如果要测试一个光纤接头的损耗,不可能只测量单个光纤接头,必须将其与类似的已知质量接头相匹配.这里光纤接头损耗指的是配对光纤接头的损耗,这也是为什么要设置 ...
- functools.partial()==>预先设置参数,使得之后调用的时候,减少函数的参数
import functoolsdef add(a):print(a + 1)add(2) #输出3newAdd = functools.partial(add,2)newAdd() #输出3 首先大 ...
- 设置linearlayout最大高度_ICEM CFD网格设置参数意义
线下工程实例专题计划 (2019年10月-2020年1月) ICEM CFD网格设置参数意义 一般来说,线和边单位参数设置,Height.Height Ratio和层数是常用的3个参数.如果只设置了层 ...
最新文章
- 附加没有日志文件的数据库方法
- UItableView的一些特殊点击效果
- 如何缩短visual studio行号的距离
- pyplot输出的绘图界面中文乱码的解决方案
- asp.net 动态创建TextBox控件 如何加载状态信息
- python在线投票系统讲解_在线投票系统功能分析
- uboot支持S3C6410的SD启动
- 【Kernel学习】基础篇——01一些标准宏定义和文件include关系
- 化学人学python有前途吗-课堂上老师不讲的有趣物理知识,才是孩子最感兴趣的!...
- 【实用】神级工具类Hutool,你值得拥有!
- protues仿真51单片机驱动继电器
- 【开源教程9】疯壳·开源蓝牙心率防水运动手环-心率监测
- igs时间和utc_世界协调时间(UTC)与中国标准时间
- C语言关键字 restrict(一)
- 这种鱼被吃了也拼命求生!刺穿捕食者的胃想跑出来
- HTML怎么做出菱形框架,css3怎么实现菱形渐变?
- UVa 12563 - Jin Ge Jin Qu hao(01背包)
- watch和watchEffect
- 深度学习—— 人工智能概述
- 国网GIM设备三维模型要求细则 - 框架式电容器