/[projects]/android/Side9/src/dk/thoerup/side9/ImageAdapter.java
ViewVC logotype

Diff of /android/Side9/src/dk/thoerup/side9/ImageAdapter.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 790 by torben, Thu Jun 3 09:11:07 2010 UTC revision 915 by torben, Sat Jun 26 10:11:35 2010 UTC
# Line 4  import java.io.File; Line 4  import java.io.File;
4  import java.util.ArrayList;  import java.util.ArrayList;
5    
6  import android.content.Context;  import android.content.Context;
 import android.content.res.TypedArray;  
7  import android.graphics.Bitmap;  import android.graphics.Bitmap;
8  import android.graphics.BitmapFactory;  import android.graphics.BitmapFactory;
9  import android.os.Environment;  import android.os.Environment;
10    import android.util.DisplayMetrics;
11  import android.view.View;  import android.view.View;
12  import android.view.ViewGroup;  import android.view.ViewGroup;
13    import android.view.WindowManager;
14  import android.widget.BaseAdapter;  import android.widget.BaseAdapter;
15  import android.widget.GridView;  import android.widget.GridView;
16  import android.widget.ImageView;  import android.widget.ImageView;
17    import android.widget.Toast;
18    
19  public class ImageAdapter extends BaseAdapter {  public class ImageAdapter extends BaseAdapter {
20      //int mGalleryItemBackground;      //int mGalleryItemBackground;
21      private Context mContext;      private Context mContext;
22            
23      ArrayList<String> mBitmaps = new ArrayList<String>();      ArrayList<String> mBitmapPaths = new ArrayList<String>();
24        ArrayList<Bitmap> mBitmaps = new ArrayList<Bitmap>();
25        
26        int size;
27    
28      public ImageAdapter(Context c) {      public ImageAdapter(Context c) {
29          mContext = c;          mContext = c;
30                    
31          String path = Environment.getExternalStorageDirectory().getPath() + "/Side9" ;          String path = Environment.getExternalStorageDirectory().getPath() + "/Side9" ;
32                    
33            
34            
35          File root = new File(path);          File root = new File(path);
36            
37            if (root.exists() == false) {
38                    Toast.makeText(mContext, "Side9 folder not found on sdcard", Toast.LENGTH_LONG).show();
39                    return;
40            }
41            
42          File files[] = root.listFiles();          File files[] = root.listFiles();
43          for (File f : files) {          for (File f : files) {          
44                  mBitmaps.add(  f.getPath() );              Bitmap bmp = BitmapFactory.decodeFile( f.getPath() );
45                Bitmap scaled =  Bitmap.createScaledBitmap(bmp, bmp.getWidth()/4, bmp.getHeight()/4, true);
46                
47                    mBitmapPaths.add(  f.getPath() );
48                    mBitmaps.add(scaled);
49          }          }
50                    
51                    size = getSize();
52      }      }
53    
54      public int getCount() {      public int getCount() {
# Line 47  public class ImageAdapter extends BaseAd Line 64  public class ImageAdapter extends BaseAd
64      }      }
65            
66      public String getImagePath(int position) {      public String getImagePath(int position) {
67          return mBitmaps.get(position);          return mBitmapPaths.get(position);
68        }
69        
70        private int getSize() {
71                     DisplayMetrics metrics = new DisplayMetrics();
72                     WindowManager wmgr = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
73                     wmgr.getDefaultDisplay().getMetrics(metrics);
74                     if (metrics.widthPixels < 480) {
75                             return 150;
76                     } else {
77                             return 200;
78                     }
79      }      }
80    
81      public View getView(int position, View convertView, ViewGroup parent) {      public View getView(int position, View convertView, ViewGroup parent) {
82          ImageView imageView;          ImageView imageView;
83          if (convertView == null) {  // if it's not recycled, initialize some attributes          if (convertView == null) {  // if it's not recycled, initialize some attributes
84              imageView = new ImageView(mContext);              imageView = new ImageView(mContext);
85              imageView.setLayoutParams(new GridView.LayoutParams(200, 200));              imageView.setLayoutParams(new GridView.LayoutParams(size, size));
86              imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);              imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
87              imageView.setAdjustViewBounds(true);                imageView.setAdjustViewBounds(true);  
88              imageView.setPadding(4, 4, 4, 4);              imageView.setPadding(4, 4, 4, 4);
# Line 62  public class ImageAdapter extends BaseAd Line 90  public class ImageAdapter extends BaseAd
90              imageView = (ImageView) convertView;              imageView = (ImageView) convertView;
91          }          }
92    
93          Bitmap bmp = BitmapFactory.decodeFile( mBitmaps.get(position) );  
94          imageView.setImageBitmap( Bitmap.createScaledBitmap(bmp, bmp.getWidth()/3, bmp.getHeight()/3, true) );          imageView.setImageBitmap( mBitmaps.get(position) );
95          return imageView;          return imageView;
96    
97      }      }

Legend:
Removed from v.790  
changed lines
  Added in v.915

  ViewVC Help
Powered by ViewVC 1.1.20