今天做我们的智能相册的项目时,遇到了非常神奇的问题,当照片太大时,导致ImageView.setImageBitmap不显示,上网上搜了很多办法,感觉都不是那么靠谱,最后使用了简单粗暴的手段:

//Bitmap too large to be uploaded into a textureBitmap bm = BitmapFactory.decodeFile(imagePath);DisplayMetrics dm = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);int screenWidth=dm.widthPixels;if(bm.getWidth()<=screenWidth){    imageView.setImageBitmap(bm);}else{    Bitmap bmp=Bitmap.createScaledBitmap(bm, screenWidth, bm.getHeight()*screenWidth/bm.getWidth(), true);    imageView.setImageBitmap(bmp);}

主要的思路就是把通过文件路径imagePath得到的图片Bitmap做Scale处理,但是如果Bitmap其实没有那么大就不作处理,这里我判断Bitmap的宽比屏幕小时,就没有必要做处理了。
以后有更好的解决办法我会一一更新到这篇博客中,请大家拍砖~

更多相关文章

  1. Android(安卓)实现文字按照路径曲线显示
  2. Android(安卓)2D绘图解析之 Path
  3. Mac os 进行Android开发笔记(2)
  4. Android(安卓)ContentProvider基础
  5. Android(安卓)init.rc BOOTCLASSPATH
  6. 关于android获得图片的总结
  7. 【Android(安卓)NDK 开发】Android(安卓)Studio 使用 CMake 导入
  8. Android属性动画、函数动画
  9. Android(安卓)UI【Android(安卓)仿Iphone文件夹分裂效果】

随机推荐

  1. Spring的refresh()方法相关异常
  2. HTML制作表单与表格的实例演示
  3. C语言中的择中,二分查找算法解析
  4. 中文刊上用中介效应模型的实证文章? 这位
  5. 2021-03-27:给你一个链表的头节点 head ,旋
  6. Oracle索引整理
  7. Go语言RPC学习记录
  8. 广告CTR预估中用户行为学习和记忆建模
  9. 需要吗?2000GB+学习视频教程 面试资料免费
  10. 论tcp的n次握手和m次挥手