版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Mr_GLY_di/article/details/53205270
@Override
public boolean onOptionsItemSelected(MenuItem item) {
//第一种方法,直接设置
// iv.setImageResource(R.drawable.lye1);
//第二种方法,通过BitmapFactory来给ImageView设置资源
/*Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.lye1);
iv.setImageBitmap(bitmap);*/
//第三种,进行图片的缩放
Options opts = new Options();
//只获取图片的宽高标记
opts.inJustDecodeBounds = true;
BitmapFactory.decodeResource(getResources(), R.drawable.lye1, opts);
int imgWidth = opts.outWidth;//通过Options对象获取资源图片的宽度
int imgHeight = opts.outHeight;//通过Options对象获取资源图片的高度
//获取手机屏幕的宽度和高度
WindowManager manager = getWindow().getWindowManager();
Display display = manager.getDefaultDisplay();
Point outSize = new Point();
display.getSize(outSize );
int screenWidth = outSize.x;
int screenHeight = outSize.y;
//计算压缩比
int yashuoX = imgWidth/screenWidth;
int yashouY = imgHeight/screenHeight;
int bili = yashuoX>yashouY?yashuoX:yashouY;
if (bili<1) {
bili = 1;
}
//设置取消只获取图片的宽高标记
opts.inJustDecodeBounds = false;
//设置压缩比,可以使用上面计算的,也可以直接设置int值
opts.inSampleSize = 2;
//重新获取图片资源(压缩后的图片资源)
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.lye1, opts);
//显示图片
iv.setImageBitmap(bitmap);
return super.onOptionsItemSelected(item);
}
}