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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 915 - (hide annotations) (download)
Sat Jun 26 10:11:35 2010 UTC (13 years, 11 months ago) by torben
File size: 2898 byte(s)
Attempt to make it work on HVGA devices (magic/hero)
1 torben 790 package dk.thoerup.side9;
2    
3     import java.io.File;
4     import java.util.ArrayList;
5    
6     import android.content.Context;
7     import android.graphics.Bitmap;
8     import android.graphics.BitmapFactory;
9     import android.os.Environment;
10 torben 915 import android.util.DisplayMetrics;
11 torben 790 import android.view.View;
12     import android.view.ViewGroup;
13 torben 915 import android.view.WindowManager;
14 torben 790 import android.widget.BaseAdapter;
15     import android.widget.GridView;
16     import android.widget.ImageView;
17 torben 912 import android.widget.Toast;
18 torben 790
19     public class ImageAdapter extends BaseAdapter {
20     //int mGalleryItemBackground;
21     private Context mContext;
22    
23 torben 791 ArrayList<String> mBitmapPaths = new ArrayList<String>();
24     ArrayList<Bitmap> mBitmaps = new ArrayList<Bitmap>();
25 torben 915
26     int size;
27 torben 790
28     public ImageAdapter(Context c) {
29     mContext = c;
30    
31     String path = Environment.getExternalStorageDirectory().getPath() + "/Side9" ;
32    
33 torben 912
34    
35 torben 790 File root = new File(path);
36 torben 912
37     if (root.exists() == false) {
38     Toast.makeText(mContext, "Side9 folder not found on sdcard", Toast.LENGTH_LONG).show();
39     return;
40     }
41    
42 torben 790 File files[] = root.listFiles();
43 torben 791 for (File f : files) {
44     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 torben 790 }
50 torben 915
51     size = getSize();
52 torben 790 }
53    
54     public int getCount() {
55     return mBitmaps.size();
56     }
57    
58     public Object getItem(int position) {
59     return position;
60     }
61    
62     public long getItemId(int position) {
63     return position;
64     }
65    
66     public String getImagePath(int position) {
67 torben 791 return mBitmapPaths.get(position);
68 torben 790 }
69 torben 915
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 torben 790
81     public View getView(int position, View convertView, ViewGroup parent) {
82     ImageView imageView;
83     if (convertView == null) { // if it's not recycled, initialize some attributes
84     imageView = new ImageView(mContext);
85 torben 915 imageView.setLayoutParams(new GridView.LayoutParams(size, size));
86 torben 790 imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
87     imageView.setAdjustViewBounds(true);
88     imageView.setPadding(4, 4, 4, 4);
89     } else {
90     imageView = (ImageView) convertView;
91     }
92    
93 torben 791
94     imageView.setImageBitmap( mBitmaps.get(position) );
95 torben 790 return imageView;
96    
97     }
98     }

  ViewVC Help
Powered by ViewVC 1.1.20