Android中缩列图的使用

来源:互联网 发布:java时间排序函数 编辑:程序博客网 时间:2024/06/05 10:12
import android.app.Activity;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.widget.ImageView;


public class MainActivity extends Activity {
private ImageView imageView;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = (ImageView) findViewById(R.id.imageView);
imageView.setImageBitmap(decodeBitmap(getResources(), R.drawable.a, 50,
50));
}


// 得到缩放比
public int getSampleSize(BitmapFactory.Options options, int requestWidth,
int requestHeight) {
// 原图片的宽高
int width = options.outWidth;
int height = options.outHeight;
int sampleSize = 1;
if (width > requestWidth || height > requestHeight) {
if (width > height) {
sampleSize = Math.round((float) height / (float) (requestHeight)) ;
} else {
sampleSize = Math.round((float) width / (float) (requestWidth));
}
}
}
return sampleSize;
}


public Bitmap decodeBitmap(Resources res, int resid, int requestWidth,
int requestHeight) {
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeResource(res, resid, options);
options.inSampleSize = getSampleSize(options, requestWidth,
requestHeight);
options.inJustDecodeBounds = false;
return BitmapFactory.decodeResource(res, resid, options);
}

}

布局文件仅包含一个ImageView,在此不再列出。

0 0
原创粉丝点击