如何在gridview中展示相册中的图片
时间: 2023-04-10 22:03:04 浏览: 100
您可以使用GridView和Adapter来展示相册中的图片。首先,您需要获取相册中的图片路径,然后将其加载到GridView中。以下是一个简单的示例代码:
1. 获取相册中的图片路径
```java
private ArrayList<String> getGalleryPhotos() {
ArrayList<String> galleryList = new ArrayList<String>();
final String[] projection = { MediaStore.Images.Media.DATA };
final String orderBy = MediaStore.Images.Media.DATE_TAKEN;
Cursor imageCursor = getContentResolver().query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, null,
null, orderBy + " DESC");
if (imageCursor != null && imageCursor.moveToFirst()) {
do {
String path = imageCursor.getString(imageCursor
.getColumnIndex(MediaStore.Images.Media.DATA));
galleryList.add(path);
} while (imageCursor.moveToNext());
}
imageCursor.close();
return galleryList;
}
```
2. 加载图片到GridView中
```java
GridView gridView = (GridView) findViewById(R.id.gridview);
ArrayList<String> galleryList = getGalleryPhotos();
gridView.setAdapter(new ImageAdapter(this, galleryList));
```
3. 实现ImageAdapter
```java
public class ImageAdapter extends BaseAdapter {
private Context context;
private ArrayList<String> galleryList;
public ImageAdapter(Context context, ArrayList<String> galleryList) {
this.context = context;
this.galleryList = galleryList;
}
public int getCount() {
return galleryList.size();
}
public Object getItem(int position) {
return galleryList.get(position);
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) {
imageView = new ImageView(context);
imageView.setLayoutParams(new GridView.LayoutParams(200, 200));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
} else {
imageView = (ImageView) convertView;
}
// 加载图片
Glide.with(context).load(galleryList.get(position)).into(imageView);
return imageView;
}
}
```
这样就可以在GridView中展示相册中的图片了。