Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.thanhtung.tungnguyen;
- import android.content.Context;
- import android.graphics.Bitmap;
- import android.graphics.BitmapFactory;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.BaseAdapter;
- import android.widget.GridView;
- import android.widget.ImageView;
- import java.util.ArrayList;
- /*public class ImageAdapter extends BaseAdapter {
- private Context mContext;
- // Keep all Images in array
- public Integer[] mThumbIds = {
- R.drawable.pic_1, R.drawable.pic_2,
- R.drawable.pic_3, R.drawable.pic_4,
- R.drawable.pic_5, R.drawable.pic_6,
- R.drawable.pic_7, R.drawable.pic_8,
- R.drawable.pic_9, R.drawable.pic_10,
- R.drawable.pic_10, R.drawable.pic_10,
- R.drawable.pic_10, R.drawable.pic_10,
- R.drawable.pic_10
- };
- // Constructor
- public ImageAdapter(Context c){
- mContext = c;
- }
- @Override
- public int getCount() {
- return mThumbIds.length;
- }
- @Override
- public Object getItem(int position) {
- return mThumbIds[position];
- }
- @Override
- public long getItemId(int position) {
- return 0;
- }
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- ImageView imageView = new ImageView(mContext);
- imageView.setImageResource(mThumbIds[position]);
- imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
- imageView.setLayoutParams(new GridView.LayoutParams(70, 70));
- return imageView;
- }
- }*/
- public class ImageAdapter extends BaseAdapter {
- private Context mContext;
- ArrayList<String> itemList = new ArrayList<String>();
- public ImageAdapter(Context c) {
- mContext = c;
- }
- void add(String path) {
- itemList.add(path);
- }
- @Override
- public int getCount() {
- return itemList.size();
- }
- @Override
- public Object getItem(int arg0) {
- // TODO Auto-generated method stub
- return null;
- }
- @Override
- public long getItemId(int position) {
- // TODO Auto-generated method stub
- return 0;
- }
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- ImageView imageView;
- if (convertView == null) { // if it's not recycled, initialize some attributes
- imageView = new ImageView(mContext);
- imageView.setLayoutParams(new GridView.LayoutParams(220, 220));
- imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
- imageView.setPadding(8, 8, 8, 8);
- } else {
- imageView = (ImageView) convertView;
- }
- Bitmap bm = decodeSampledBitmapFromUri(itemList.get(position), 220, 220);
- imageView.setImageBitmap(bm);
- return imageView;
- }
- public Bitmap decodeSampledBitmapFromUri(String path, int reqWidth, int reqHeight) {
- Bitmap bm = null;
- // First decode with inJustDecodeBounds=true to check dimensions
- final BitmapFactory.Options options = new BitmapFactory.Options();
- options.inJustDecodeBounds = true;
- BitmapFactory.decodeFile(path, options);
- // Calculate inSampleSize
- options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight);
- // Decode bitmap with inSampleSize set
- options.inJustDecodeBounds = false;
- bm = BitmapFactory.decodeFile(path, options);
- return bm;
- }
- public int calculateInSampleSize(
- BitmapFactory.Options options, int reqWidth, int reqHeight) {
- // Raw height and width of image
- final int height = options.outHeight;
- final int width = options.outWidth;
- int inSampleSize = 1;
- if (height > reqHeight || width > reqWidth) {
- if (width > height) {
- inSampleSize = Math.round((float) height / (float) reqHeight);
- } else {
- inSampleSize = Math.round((float) width / (float) reqWidth);
- }
- }
- return inSampleSize;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement