将bitmap设置为背景的问题解决
2015-07-21 17:05
399 查看
现在很多app都在拼颜值,大家都喜欢漂亮的app,保不准就得有一个为app设置背景的功能。嗯,这听起来还是比较简单的,但是android机型太多,可能就会遇到硬件很low的手机,这样就会造成oom,所以我们必须再多一步,那就是图片压缩。
private void onSetBackGroup(){ //设置配件图片 String filepath=AppConfig.bgimagePath+mImageBg; File file = new File(filepath); if(file.exists()&&file.isFile()){ BitmapFactory.Options options=new BitmapFactory.Options(); options.inJustDecodeBounds=true; BitmapFactory.decodeFile(filepath,options); double ratio =Math.max(options.outWidth*1.0d/1024f, options.outHeight*1.0d/1024f); options.inSampleSize=(int)Math.ceil(ratio); options.inJustDecodeBounds=false; Bitmap photoImg=BitmapFactory.decodeFile(filepath,options); mLogo.setImageBitmap(photoImg); }else{ mLogo.setImageResource(R.drawable.img_bg_one); } }
实现思路:我们用的是BitmapFactory里的options来设置,inJustDecodeBounds为true的意思就是读取尺寸而不加载原数据,本例就是让bitmap的尺寸压缩在1024*1024之内,大家可以根据实际情况进行压缩(反正我是够了)。而我遇到的问题是没有报错,但是图片选取背景设置不了,这样的话就解决了我的问题。
相关文章推荐
- Single Number
- 二叉搜素树 二叉排序树 插入 删除 中序输出
- PC-启动慢的解决好方法!
- fancybox 基础 简单demo
- java面试常见问题之Hibernate总结
- mediawiki上传文件大小的设置
- Java 死锁的简单实例
- Android SDK 和 Eclipse ADT 离线安装 教程
- Linux自学笔记:02_vi编辑器的简单使用
- POJ Treasure Exploration 2594【Warshall求传递闭包+最小路径覆盖】
- [Python学习] 简单爬取CSDN下载资源信息
- IE-一根网线二台电脑上网
- mvc与三层结构终极区别
- Algorithms—2.Add Two Numbers
- Android Touch事件分发机制
- Delphi Edit限制只能输入数字
- 设计模式-抽象工厂(Abstract Factory)
- 视频和字幕同步的实现(java版)
- zedboard中OLED源代码
- Github个人使用经历