1.最近在项目中遇到了ScrollView中嵌套ImageView,导致图片上下有空白

如图:

在网上找解决的办法,说在ImageView中设置

android:scaleType=”fitXY” 这个属性,虽然解决了,但是又出现了一个新的问题 就是图片失针了,

继续找,找到了这个属性 android:adjustViewBounds=”true”这样问题就解决了

如图:

ImageView 的adjustViewBounds 属性

取值为true时:

Adjust the ImageView’s bounds to preserve the aspect ration of its drawable.

调整ImageView的界限来保持图像纵横比不变。

这并不意味着ImageView的纵横比就一定和图像的纵横比相同

XML定义里的android:adjustViewBounds=”true”会将这个ImageView的scaleType设为fitCenter。不过这个fitCenter会被后面定义的scaleType属性覆盖(如果定义了的话),除非在Java代码里再次显示调用setAdjustViewBounds(true)。

如果设置的layout_width与layout_height都是定值,那么设置adjustViewBounds是没有效果的,ImageView将始终是设定的定值的宽高。

如果设置的layout_width与layout_height都是wrap_content,那么设置adjustViewBounds是没有意义的,因为ImageView将始终与图片拥有相同的宽高比(但是并不是相同的宽高值,通常都会放大一些)。

如果两者中一个是定值,一个是wrap_content,比如layout_width=”100px”,layout_height=”wrap_content”时,ImageView的宽将始终是100px,而高则分两种情况:

(1)当图片的宽小于100px时,layout_height将与图片的高相同,即图片不会缩放,完整显示在ImageView中,ImageView高度与图片实际高度相同。图片没有占满ImageView,ImageView中有空白。

(2)当图片的宽大于等于100px时,此时ImageView将与图片拥有相同的宽高比,因此ImageView的layout_height值为:100除以图片的宽高比。比如图片是500X500的,那么layout_height是100。图片将保持宽高比缩放,完整显示在ImageView中,并且完全占满ImageView。

2.当滑动图片之后再次打开该图片,图片位置显示的是上次滑动的位置:

解决办法:scrollView.scrollTo(0,0);

3.不同分辨率的图片在各个分辨率的drawable文件夹都要放,否则会出现图片拉伸等失真情况

新建不同分辨率的drawable文件夹方法详见如下:https://blog.csdn.net/x_Danding/article/details/79937285

4.在代码中引用图片资源的时候千万注意有没有红色感叹号的提示,若有,很可能该图片无法正常打开,再次添加试试

android 图片空白,图片显示上下有空白的解决办法相关推荐

  1. 【Android教程】Android Studio找不到连接的手机完全解决办法

    Android Studio找不到连接的手机完全解决办法 1.问题背景 现在Android大多都用谷歌的Android Studio来开发 但是 一开始使用Android Studio都不会那么顺利 ...

  2. Opencv 3.4.2 +VS2015用摄像头采集图片并更改分辨率出现黑边的解决办法

    Opencv 3.4.2 +VS2015用摄像头采集图片并更改分辨率出现黑边的解决办法 CSDN中已经有相当部分的博客写了如何利用OpenCV通过摄像头获取并保存图片,此处不再赘述.我遇到的问题是利用 ...

  3. vue项目图片插入不清晰,原因分析及解决办法

    问题: vue项目图片插入不清晰,原因分析及解决办法 原因分析: 引起图片不清晰的原因可能有以下三个:被压缩.被放大.受到父盒子的影响. 解决办法: 方法一: 1.从属性 fit="none ...

  4. Android应用启动时白色闪屏原因及解决办法

    白色闪屏现象: 如果OnCreate().onStart().onResume()中操作太多,耗时较久.那么就会在主界面显示出来之前出现白色闪屏.为了更清晰的看出白色闪屏,这里在代码中执行50000次 ...

  5. Ubuntu连接以太网时显示“设备未托管”的解决办法

    Ubuntu连接以太网时显示"设备未托管"的解决办法 故障分析: 电脑之前可能设置过PPOE(有线宽带虚拟拨号),常见为连接校园拨号宽带. 解决办法: 第一步:打开终端 第二步:切 ...

  6. Linux——Ubuntu安装Fcitx以及Fcitx输入中文不显示候选词框的解决办法

    一.安装Fcitx 1.安装Fcitx所需组件 $ sudo apt install fcitx fcitx-tools fcitx-config* fcitx-frontend* fcitx-mod ...

  7. Mac系统中移动硬盘热拔(强制退出)后,在插上不显示移动硬盘的问题和解决办法

    Mac系统中移动硬盘热拔(强制退出)后,在插上不显示移动硬盘的问题和解决办法 一.问题描述: 好久没有写博客了,被调研和开题的事情折磨得好久没有写日志和学编程了,现在又到了校招的时间,自己基础好差,感 ...

  8. 群晖Synology FileStation不显示Share文件夹的解决办法

    群晖Synology FileStation不显示Share文件夹的解决办法 症状:群晖FileStation中不显示Share文件夹,但是在控制面板→共享文件夹里却显示Share文件夹 解决办法: ...

  9. Android 缺少SO库(只有armabi)的解决办法

    Android 缺少SO库(只有armabi)的解决办法 前段时间做一个项目,需要引用一些第三方的插件,结果插件只有armabi的so库,而项目中其他依赖除过armabi的库外基本都有("a ...

  10. windows网络连接不显示身份验证标签页解决办法

    windows网络连接不显示身份验证标签页解决办法 之前发现电脑的本地连接的属性标签页中,没有身份验证这一标签页,导致在公司内网中无法是用网线上网,而无线网又不是很稳定.在网上找了很久都没有找到解决办 ...

最新文章

  1. python绘制动态模拟图-Python实现模拟时钟代码推荐
  2. c# 变量,对象,静态类型,集合类的线程安全回顾
  3. window 效率神器:Wox
  4. xcode 修改 infodictionary_安卓系统修改复位键生效时间
  5. POJ3320 Jessica's Reading Problem 尺取法
  6. sql2008 sql服务_SQL即服务
  7. 如何给UNIX域Socket套接字抓包?
  8. pythonlambda回调函数_Python中如何借助lambda来给回调函数传参
  9. 仿path首页滑动效果
  10. 卡饭里的云计算机,微云可以在电脑用吗
  11. 扫描二维码 打开 小程序或是H5网页
  12. 使用QT编写视频播放器总结
  13. 常用手机屏幕尺寸大小
  14. asp.net 设置div带颜色透明
  15. VScode嵌入式开发之入门教程
  16. 择一城终老,遇一人白首
  17. 双网卡共享上网的完全解决方案
  18. 只愿得一人心白首不分离
  19. mathmatica使用入门
  20. js日期计算,根据当前日期计算n个月后的日期

热门文章

  1. 关于ESP8266WIFI转串口的速率问题(含测试数据)
  2. 小强升职记思维导图_《小强升职记》学习笔记(思维导图)
  3. OSI七层的基础概念
  4. IBM DB2 Alphablox 8.3 build 149 安装过程 部署 WebSphere Application Server 6.0.1上
  5. 新概念c语言能力教程答案,新概念c语言能力教程
  6. Spark 写入 MySQL 乱码问题
  7. 2017杭州云栖大会,.xin重磅发布一键查询企业信用
  8. idea java svn 设置_idea配置svn,随时拉取和上传代码的正确做法
  9. HTML5+CSS3+JS小实例:仿制网易云音乐网站的轮播图
  10. MySQL 中的 SET 与 ENUM 类型使用详解