--- android/Side9/src/dk/thoerup/side9/ImageAdapter.java 2010/06/26 09:42:40 914 +++ android/Side9/src/dk/thoerup/side9/ImageAdapter.java 2010/06/26 10:11:35 915 @@ -7,8 +7,10 @@ import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Environment; +import android.util.DisplayMetrics; import android.view.View; import android.view.ViewGroup; +import android.view.WindowManager; import android.widget.BaseAdapter; import android.widget.GridView; import android.widget.ImageView; @@ -20,6 +22,8 @@ ArrayList mBitmapPaths = new ArrayList(); ArrayList mBitmaps = new ArrayList(); + + int size; public ImageAdapter(Context c) { mContext = c; @@ -43,6 +47,8 @@ mBitmapPaths.add( f.getPath() ); mBitmaps.add(scaled); } + + size = getSize(); } public int getCount() { @@ -60,12 +66,23 @@ public String getImagePath(int position) { return mBitmapPaths.get(position); } + + private int getSize() { + DisplayMetrics metrics = new DisplayMetrics(); + WindowManager wmgr = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE); + wmgr.getDefaultDisplay().getMetrics(metrics); + if (metrics.widthPixels < 480) { + return 150; + } else { + return 200; + } + } 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(200, 200)); + imageView.setLayoutParams(new GridView.LayoutParams(size, size)); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); imageView.setAdjustViewBounds(true); imageView.setPadding(4, 4, 4, 4);