使用Gilde加载图片时裁剪大小异常
LT.ee("px="+ConvertUtils.dp2px(24));Glide.with(mActivity)//打印出48px.load("http://attachments.gfan.com/attachments2/day_110615/1106151509f6d875b078d5a4c4.jpg").crossFade(500).placeholder(R.drawable.ic_account_circle_black_24dp).bitmapTransform(new CropCircleTransformation(mActivity)).override(ConvertUtils.dp2px(24), ConvertUtils.dp2px(24)).into(mActivity.getTopBar().getViewL1());
<ImageViewandroid:id="@+id/NavigateOperation_L1"android:layout_width=“50dp"android:layout_height="wrap_content"android:clickable="false"android:scaleType="fitCenter"android:src="@drawable/left_arrow"android:visibility="visible" />
这是加载图片的代码和ImageView的xml
这时出现一个诡异的bug,当我把ConvertUtils.dp2px(XX)设置30 20 16时在页面上的大小都一样,设置成15的时候又会突然变非常小,
android:scaleType="fitCenter”
fitCenter和centerInside都是一样的结果.
猜测是设置图片的方式有异常,之前的图片都是使用setImageResource设置的,setImageResource会自动适应图片空间的宽高,而Gilde则是使用setImageDrawable设置,具体可以参考
http://blog.csdn.net/hoyouly/article/details/52839015#setimagebitmap
setImageResource():这个方法是在UI线程中对图片读取和解析的,所以有可能对一个Activity的启动造成延迟。所以如果顾虑到这个官方建议用setImageDrawable和setImageBitmap来代替。
setImageBitmap():实际上setImageBitmap做的事情就是把Bitmap对象封装成Drawable对象,然后调用setImageDrawable来设置图片,不如直接使用setImageDrawable()
setImageDrawable():setImageDrawable是最省内存高效的,如果担心图片过大或者图片过多影响内存和加载效率,可以自己解析图片然后通过调用setImageDrawable方法进行设置。
后来发现了adjustViewBounds可以满足需求,代码如下
<ImageView
android:id="@+id/NavigateOperation_L1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:maxHeight="28dp"android:maxWidth="28dp"android:layout_marginLeft="15dp"android:layout_marginRight="15dp"android:adjustViewBounds="true"android:clickable="false"android:scaleType="fitCenter"android:src="@drawable/left_arrow"android:visibility="visible" />
关键在于adjustViewBounds和maxHeight\maxWidth配合使用
就可以保证宽高一致
使用Gilde加载图片时裁剪大小异常相关推荐
- 使用Glide加载图片时出现条纹和颜色混乱
一.问题概述 在使用Glide加载图片时,出现了条纹断裂和色块混乱的情况. 这是原图: 这是通过Glide加载出来的图片: 对比可以看出有明显的条纹和颜色的混乱,但是尝试另一个框架Picasso进行加 ...
- glide首次加载图片时,出现图片变形,重复一下就正常
glide首次加载图片时,出现图片变形问题,重复一下就正常了,这样看着总是很不爽! 简单粗暴的解决办法:将加载的动画去掉,出来的就加载正常了! dontAnimate() 例如:Glide.with( ...
- Android Glide加载图片时转换为圆形、圆角、毛玻璃等图片效果
Android Glide加载图片时转换为圆形.圆角.毛玻璃等图片效果 附录1简单介绍了Android开源的图片加载框架.在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬 ...
- iOS开发 关于tableView加载图片时出现卡顿时的解决办法
新手做开发的时候一般都会遇到使用tableView从网上加载图片并显示图文的时候会有卡顿现象,而这种卡顿现象也是因为多种原因造成的.一般可以分为两种:一种是由于网上加载图片需要动态定义cell的高度( ...
- 视图的隐藏显示附加Gilde加载图片模版
1.在XML文件中设置属性隐藏: android:visibility="invisible" 2.在java代码里: mlistview1.setVisibility(View. ...
- 微信小程序 加载图片时,先拉长,再恢复正常
今天在写小程序,发现小程序的图片image如过mode设置为widthFix的话, 加载图片会被先拉伸,后恢复正常 我的处理方法是,给他一个初始的height值,或者就直接 height:auto ...
- 微信小程序 加载图片时,先拉长,再恢复正常
今天在写小程序,发现小程序的图片image如过mode设置为widthFix的话, 加载图片会被先拉伸,后恢复正常 我的处理方法是,给他一个初始的height值,或者就直接 height:auto 大 ...
- JQuery加载图片自适应DIV大小
http://www.aichengxu.com/article/Javascript/1237_7.html 如何在固定大小的div中放置一个图片,当图片较小时显示实际大小,当图片超过div 大小时 ...
- 固定大小显示图片html,JQuery加载图片自适应固定大小的DIV
如何在固定大小的div中放置一个图片,当图片较小时显示实际大小,当图片超过div 大小时图片 自动适应div 的大小 jquery图片自适应大小实现过程的主要代码: 代码如下: .divImg{ ma ...
最新文章
- Laravel 文件夹结构简介
- 信用经济中的经济因素
- python id()函数(返回对象在内存地址中的唯一标识)
- wxpython界面切换_Python图形界面—wxPython库的布局管理及页面切换
- JsonRequestBehavior.AllowGet 方便浏览器调试
- LeetCode206:Reverse Linked List
- docker-compose搭建kafka集群
- wdcp 无法更换php,wdcp降级到php5.2后Zend Optimizer失效的解决办法
- Python——上下文管理器
- python高性能_Python高性能分布式执行框架-Ray
- 数据分析实战 -- 股票量化交易分析
- 黑苹果10.15.7使用
- 模型评估之过拟合与欠拟合
- 手把手教你使用R语言做出SCI论文中的表二(单因素分析表)(3)
- vrf路由泄露原理和简单示例
- Python_删除/创建指定目录及其下所有子目录的文件,该文件记录当前文件夹的内容...
- YAML详解 是什么
- mezzanine安装(python2.7+nginx+mysql+supervisor)
- 手机中使用到的SENSOR相关原理
- html5页面嵌入视频播放,使用HTML5在网页中嵌入音频和视频播放的基本方法