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加载图片时裁剪大小异常相关推荐

  1. 使用Glide加载图片时出现条纹和颜色混乱

    一.问题概述 在使用Glide加载图片时,出现了条纹断裂和色块混乱的情况. 这是原图: 这是通过Glide加载出来的图片: 对比可以看出有明显的条纹和颜色的混乱,但是尝试另一个框架Picasso进行加 ...

  2. glide首次加载图片时,出现图片变形,重复一下就正常

    glide首次加载图片时,出现图片变形问题,重复一下就正常了,这样看着总是很不爽! 简单粗暴的解决办法:将加载的动画去掉,出来的就加载正常了! dontAnimate() 例如:Glide.with( ...

  3. Android Glide加载图片时转换为圆形、圆角、毛玻璃等图片效果

     Android Glide加载图片时转换为圆形.圆角.毛玻璃等图片效果 附录1简单介绍了Android开源的图片加载框架.在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬 ...

  4. iOS开发 关于tableView加载图片时出现卡顿时的解决办法

    新手做开发的时候一般都会遇到使用tableView从网上加载图片并显示图文的时候会有卡顿现象,而这种卡顿现象也是因为多种原因造成的.一般可以分为两种:一种是由于网上加载图片需要动态定义cell的高度( ...

  5. 视图的隐藏显示附加Gilde加载图片模版

    1.在XML文件中设置属性隐藏: android:visibility="invisible" 2.在java代码里: mlistview1.setVisibility(View. ...

  6. 微信小程序 加载图片时,先拉长,再恢复正常

    今天在写小程序,发现小程序的图片image如过mode设置为widthFix的话,  加载图片会被先拉伸,后恢复正常  我的处理方法是,给他一个初始的height值,或者就直接 height:auto ...

  7. 微信小程序 加载图片时,先拉长,再恢复正常

    今天在写小程序,发现小程序的图片image如过mode设置为widthFix的话, 加载图片会被先拉伸,后恢复正常 我的处理方法是,给他一个初始的height值,或者就直接 height:auto 大 ...

  8. JQuery加载图片自适应DIV大小

    http://www.aichengxu.com/article/Javascript/1237_7.html 如何在固定大小的div中放置一个图片,当图片较小时显示实际大小,当图片超过div 大小时 ...

  9. 固定大小显示图片html,JQuery加载图片自适应固定大小的DIV

    如何在固定大小的div中放置一个图片,当图片较小时显示实际大小,当图片超过div 大小时图片 自动适应div 的大小 jquery图片自适应大小实现过程的主要代码: 代码如下: .divImg{ ma ...

最新文章

  1. Laravel 文件夹结构简介
  2. 信用经济中的经济因素
  3. python id()函数(返回对象在内存地址中的唯一标识)
  4. wxpython界面切换_Python图形界面—wxPython库的布局管理及页面切换
  5. JsonRequestBehavior.AllowGet 方便浏览器调试
  6. LeetCode206:Reverse Linked List
  7. docker-compose搭建kafka集群
  8. wdcp 无法更换php,wdcp降级到php5.2后Zend Optimizer失效的解决办法
  9. Python——上下文管理器
  10. python高性能_Python高性能分布式执行框架-Ray
  11. 数据分析实战 -- 股票量化交易分析
  12. 黑苹果10.15.7使用
  13. 模型评估之过拟合与欠拟合
  14. 手把手教你使用R语言做出SCI论文中的表二(单因素分析表)(3)
  15. vrf路由泄露原理和简单示例
  16. Python_删除/创建指定目录及其下所有子目录的文件,该文件记录当前文件夹的内容...
  17. YAML详解 是什么
  18. mezzanine安装(python2.7+nginx+mysql+supervisor)
  19. 手机中使用到的SENSOR相关原理
  20. html5页面嵌入视频播放,使用HTML5在网页中嵌入音频和视频播放的基本方法

热门文章

  1. 嘣嘣嘣!开枪啦~有狙击手
  2. 移动通信关键技术-多址技术和复用技术
  3. excel如何拆分分数条
  4. Eclipse在包下新建子包
  5. AgentTesla变种分析
  6. 微信小程序--使用swiper实现滚动广告
  7. Java Stream Reduce
  8. Four Years, For You:技术学院四周年庆典圆满落幕
  9. Oracle数据库连接字符串
  10. 90后普通打工人,如何从零做到5万美金独立站