您的位置:首页 > 其它

将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之内,大家可以根据实际情况进行压缩(反正我是够了)。而我遇到的问题是没有报错,但是图片选取背景设置不了,这样的话就解决了我的问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: