静态设置ImageView参数

  • 需求:一个尺寸原比例完整显示
    • 代码实现
    • 注释

需求:一个尺寸原比例完整显示

  1. 在 ImageView 的使用过程中,我需要 指定一个参数layout_width,而另一个参数设置为 wrap_content
  2. 我希望图片保持 原比例 显示在控件上;
  3. 我希望图片 完整显示 在控件上,如果图片小于控件那么就按比例放大,如果图片小与控件那就按比例缩小

代码实现

<ImageViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:adjustViewBounds="true"android:scaleType="centerCrop"android:src="@drawable/ic_launcher" />

注释

  1. android:adjustViewBounds="true" 即:调整 ImageView 的尺寸来保持图像纵横比不变。

    1. 使用这个参数,必须有一个边界是固定的,如果 ImageView 的宽高都是 wrap_content 那么这句设置是无效的;
    2. 并不意味着,ImageView 的宽高比一定等于图片的宽高比。这是因为,当仅使用该句时,如果图片的宽小于 ImageView 中指定的宽时那么 ImageView 的高就是图片的高,而宽并不填充;如果图片的宽 大于等于 ImageView 指定的宽时,此时 ImageView 的高将会根据图片比例设置;
  2. android:scaleType="centerCrop" 即:控件中心和原始图片中心重叠,图片等比例缩放;以原图填满 控件 为目的;原图不见得一定会完全显示
    1. 如果原图比例 > 控件比例,则按照控件高 / 图片高进行等比例缩放,保证图片宽度在进行同等比例缩放的时候,图片宽度大于或等于控件的宽度;
    2. 如果原图比例 < 控件比例,则按照控件宽/图片宽进行等比例缩放,保证图片高度在进行同等比例缩放的时候,图片高度大于或等于控件的高度。
  3. android:scaleType="centerInside" 即:以原图正常显示为目的
    1. 如果原图size 大于 ImageView 的 size,就按照比例缩小原图的宽高,居中显示在ImageView中。
    2. 如果原图 size 小于 ImageView 的 size,则不做处理居中显示图片。
    3. 注意:这个看似完美的属性,其实不符合我们的要求,因为我这里只有一个参数固定,如果使用这句,那么控件的高,将会按照图片比例进行缩放空间大小;这就出现如下情况,对于小图我希望像图一所示,但实际上,结果是图二;

  4. android:src="@drawable/ic_launcher" src 存放的是原图的大小,不会进行拉伸;background会根据 ImageView 组件给定的长宽进行拉伸。src 是设置图标,而background只是设置背景。
  5. 如果事先大概知道图片比空间尺寸大,那么可以使用本方法;

ImageView静态设置参数相关推荐

  1. camera(17)---设置摄像头方向、打开线程与预览线程、设置参数、Camera外设按键、自动对焦与触摸对焦、拍照、人脸检测、位置管理、旋转管理、变焦、录像

    [Android]设置摄像头方向.打开线程与预览线程.设置参数.Camera外设按键.自动对焦与触摸对焦.拍照.人脸检测.位置管理.旋转管理.变焦.录像 阅读数:1673 设置摄像头方向.打开线程与预 ...

  2. android 拍摄视频设置参数,手机如何设置参数,才能拍出高清视频?

    原标题:手机如何设置参数,才能拍出高清视频? 有的人用着最新款的手机,但是拍着最模糊的视频和照片. 所以,当你拿起手机的时候,要先了解它有什么功能,虽然现在智能手机都是自动设置的,但是也要根据自己的需 ...

  3. 剪映导出帧率选多少_自媒体视频剪辑:巧影导出视频时如何设置参数?分辨率、帧率、码率该如何选择...

    原标题:自媒体视频剪辑:巧影导出视频时如何设置参数?分辨率.帧率.码率该如何选择 深深的话我们浅浅地说,长长的路我们慢慢地走.有缘刷到此文章,感谢你的阅读.觉得文章好的,欢迎点赞.转发.收藏+关注,谢 ...

  4. RTKLIB 2.4.2后处理PPP设置参数简介

    RTKLIB 2.4.2后处理PPP设置参数简介 添加必选文件 通过Options界面配置解算参数并添加可选文件 Setting1选项卡配置参数输入 Setting2选项卡设置整周模糊度固定策略 Ou ...

  5. Postgresql服务器配置-设置参数

    Postgresql服务配置-设置参数 1.Parameter Names and Values 每个参数都有一个值.所有参数名称都不区分大小写.每个参数值都采用五种类型之一: 布尔.字符串.整数.浮 ...

  6. 开源 java CMS - FreeCMS2.8 栏目页静态化参数

    项目地址:http://www.freeteam.cn/ 栏目页静态化参数 在栏目页静态化时,系统会使用此栏目指定的模板文件(如未指定,默认为站点所选模板中的"channel.html&qu ...

  7. mysql设置参数0和1_MySQL 8.0 首个自适应参数横空出世

    什么是自适应参数 MySQL8.0推出一个号称可以自适应服务器的参数,保证在各种不同的服务器.虚拟机.容器下自动适配服务器资源,让我们一起来看看到底它能做到什么地步. 自适应参数是如何设置和适应变化的 ...

  8. 使用福禄克CFP单模光纤测试仪像专家一样设置参数!

    在使用福禄克CFP单模光纤测试仪测试光纤链路时,如果要测试一个光纤接头的损耗,不可能只测量单个光纤接头,必须将其与类似的已知质量接头相匹配.这里光纤接头损耗指的是配对光纤接头的损耗,这也是为什么要设置 ...

  9. functools.partial()==>预先设置参数,使得之后调用的时候,减少函数的参数

    import functoolsdef add(a):print(a + 1)add(2) #输出3newAdd = functools.partial(add,2)newAdd() #输出3 首先大 ...

  10. 设置linearlayout最大高度_ICEM CFD网格设置参数意义

    线下工程实例专题计划 (2019年10月-2020年1月) ICEM CFD网格设置参数意义 一般来说,线和边单位参数设置,Height.Height Ratio和层数是常用的3个参数.如果只设置了层 ...

最新文章

  1. 附加没有日志文件的数据库方法
  2. UItableView的一些特殊点击效果
  3. 如何缩短visual studio行号的距离
  4. pyplot输出的绘图界面中文乱码的解决方案
  5. asp.net 动态创建TextBox控件 如何加载状态信息
  6. python在线投票系统讲解_在线投票系统功能分析
  7. uboot支持S3C6410的SD启动
  8. 【Kernel学习】基础篇——01一些标准宏定义和文件include关系
  9. 化学人学python有前途吗-课堂上老师不讲的有趣物理知识,才是孩子最感兴趣的!...
  10. 【实用】神级工具类Hutool,你值得拥有!
  11. protues仿真51单片机驱动继电器
  12. 【开源教程9】疯壳·开源蓝牙心率防水运动手环-心率监测
  13. igs时间和utc_世界协调时间(UTC)与中国标准时间
  14. C语言关键字 restrict(一)
  15. 这种鱼被吃了也拼命求生!刺穿捕食者的胃想跑出来
  16. HTML怎么做出菱形框架,css3怎么实现菱形渐变?
  17. UVa 12563 - Jin Ge Jin Qu hao(01背包)
  18. watch和watchEffect
  19. 深度学习—— 人工智能概述
  20. 国网GIM设备三维模型要求细则 - 框架式电容器

热门文章

  1. 一个 Yii + vue 项目(6)yii模型、多模块登陆
  2. 20款流行前沿矢量图形素材
  3. 第K短路(A*算法 启发式搜索算法)
  4. 始祖家族.The.Originals
  5. 如何启用MySQL查询缓存?
  6. 【Linux】静态库和动态库的理解
  7. 黑暗中的生物:利用奇技淫巧快活生存
  8. 利用机器学习之决策树来预测员工离职概率
  9. 关于解构主义思想在软件开发中的应用
  10. 数学一年级应用题_一年级下册数学应用题,附答案