列出目录下的所有图片
public class GalleryTestActivity extends Activity { File photos[]; private static String TAG = "GalleryTest"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); File f = new File("/sdcard/pics1"); photos = f.listFiles(new FilenameFilter() { @Override public boolean accept(File dir, String filename) { return filename.endsWith("jpg"); } }); String fileList = ""; for (File aFile : photos) { fileList += aFile.getName() + "\n"; } TextView v = (TextView)findViewById(R.id.FileList); v.setText(fileList); Gallery gallery = (Gallery)findViewById(R.id.Gallery); gallery.setAdapter(new AddImgAdp(this)); } public class AddImgAdp extends BaseAdapter { int GalItemBg; private Context cont; public AddImgAdp(Context c) { cont = c; TypedArray typArray = obtainStyledAttributes(R.styleable.GalleryTheme); GalItemBg = typArray.getResourceId(R.styleable.GalleryTheme_android_galleryItemBackground, 0); typArray.recycle(); } public int getCount() { return photos.length; } public Object getItem(int position) { return position; } public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { ImageView imgView; if (convertView == null) imgView = new ImageView(cont); else imgView = (ImageView)convertView; String filename = photos[position].getAbsolutePath();
Log.i(TAG, "Loading File " + filename); Bitmap bMap = BitmapFactory.decodeFile(filename); imgView.setImageBitmap(bMap); imgView.setLayoutParams(new Gallery.LayoutParams(120, 90)); imgView.setScaleType(ImageView.ScaleType.FIT_XY); imgView.setBackgroundResource(GalItemBg); return imgView; } } }?