android 图片空白,图片显示上下有空白的解决办法
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 图片空白,图片显示上下有空白的解决办法相关推荐
- 【Android教程】Android Studio找不到连接的手机完全解决办法
Android Studio找不到连接的手机完全解决办法 1.问题背景 现在Android大多都用谷歌的Android Studio来开发 但是 一开始使用Android Studio都不会那么顺利 ...
- Opencv 3.4.2 +VS2015用摄像头采集图片并更改分辨率出现黑边的解决办法
Opencv 3.4.2 +VS2015用摄像头采集图片并更改分辨率出现黑边的解决办法 CSDN中已经有相当部分的博客写了如何利用OpenCV通过摄像头获取并保存图片,此处不再赘述.我遇到的问题是利用 ...
- vue项目图片插入不清晰,原因分析及解决办法
问题: vue项目图片插入不清晰,原因分析及解决办法 原因分析: 引起图片不清晰的原因可能有以下三个:被压缩.被放大.受到父盒子的影响. 解决办法: 方法一: 1.从属性 fit="none ...
- Android应用启动时白色闪屏原因及解决办法
白色闪屏现象: 如果OnCreate().onStart().onResume()中操作太多,耗时较久.那么就会在主界面显示出来之前出现白色闪屏.为了更清晰的看出白色闪屏,这里在代码中执行50000次 ...
- Ubuntu连接以太网时显示“设备未托管”的解决办法
Ubuntu连接以太网时显示"设备未托管"的解决办法 故障分析: 电脑之前可能设置过PPOE(有线宽带虚拟拨号),常见为连接校园拨号宽带. 解决办法: 第一步:打开终端 第二步:切 ...
- Linux——Ubuntu安装Fcitx以及Fcitx输入中文不显示候选词框的解决办法
一.安装Fcitx 1.安装Fcitx所需组件 $ sudo apt install fcitx fcitx-tools fcitx-config* fcitx-frontend* fcitx-mod ...
- Mac系统中移动硬盘热拔(强制退出)后,在插上不显示移动硬盘的问题和解决办法
Mac系统中移动硬盘热拔(强制退出)后,在插上不显示移动硬盘的问题和解决办法 一.问题描述: 好久没有写博客了,被调研和开题的事情折磨得好久没有写日志和学编程了,现在又到了校招的时间,自己基础好差,感 ...
- 群晖Synology FileStation不显示Share文件夹的解决办法
群晖Synology FileStation不显示Share文件夹的解决办法 症状:群晖FileStation中不显示Share文件夹,但是在控制面板→共享文件夹里却显示Share文件夹 解决办法: ...
- Android 缺少SO库(只有armabi)的解决办法
Android 缺少SO库(只有armabi)的解决办法 前段时间做一个项目,需要引用一些第三方的插件,结果插件只有armabi的so库,而项目中其他依赖除过armabi的库外基本都有("a ...
- windows网络连接不显示身份验证标签页解决办法
windows网络连接不显示身份验证标签页解决办法 之前发现电脑的本地连接的属性标签页中,没有身份验证这一标签页,导致在公司内网中无法是用网线上网,而无线网又不是很稳定.在网上找了很久都没有找到解决办 ...
最新文章
- python绘制动态模拟图-Python实现模拟时钟代码推荐
- c# 变量,对象,静态类型,集合类的线程安全回顾
- window 效率神器:Wox
- xcode 修改 infodictionary_安卓系统修改复位键生效时间
- POJ3320 Jessica's Reading Problem 尺取法
- sql2008 sql服务_SQL即服务
- 如何给UNIX域Socket套接字抓包?
- pythonlambda回调函数_Python中如何借助lambda来给回调函数传参
- 仿path首页滑动效果
- 卡饭里的云计算机,微云可以在电脑用吗
- 扫描二维码 打开 小程序或是H5网页
- 使用QT编写视频播放器总结
- 常用手机屏幕尺寸大小
- asp.net 设置div带颜色透明
- VScode嵌入式开发之入门教程
- 择一城终老,遇一人白首
- 双网卡共享上网的完全解决方案
- 只愿得一人心白首不分离
- mathmatica使用入门
- js日期计算,根据当前日期计算n个月后的日期
热门文章
- 关于ESP8266WIFI转串口的速率问题(含测试数据)
- 小强升职记思维导图_《小强升职记》学习笔记(思维导图)
- OSI七层的基础概念
- IBM DB2 Alphablox 8.3 build 149 安装过程 部署 WebSphere Application Server 6.0.1上
- 新概念c语言能力教程答案,新概念c语言能力教程
- Spark 写入 MySQL 乱码问题
- 2017杭州云栖大会,.xin重磅发布一键查询企业信用
- idea java svn 设置_idea配置svn,随时拉取和上传代码的正确做法
- HTML5+CSS3+JS小实例:仿制网易云音乐网站的轮播图
- MySQL 中的 SET 与 ENUM 类型使用详解