gridview实现照片墙
时间: 2024-05-16 15:18:20 浏览: 15
GridView Android 中常用的布局控件之一,可以用来实现照片墙的效果。下面是一个简单的实现步骤:
1. 在布局文件中添加 GridView 控件:
```
<GridView
android:id="@+id/grid_view"
android:numColumns="3"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:padding="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
```
其中,numColumns 表示每行显示几个图片,verticalSpacing 和 horizontalSpacing 表示图片之间的垂直和水平间距,stretchMode 表示如何拉伸图片以填充空白区域,padding 表示 GridView 的内边距。
2. 创建一个 ImageAdapter 类,继承自 BaseAdapter,并实现 getView() 方法。在 getView() 方法中,可以加载图片并显示在 ImageView 控件中:
```
public class ImageAdapter extends BaseAdapter {
private Context mContext;
private int[] mImageIds = {R.drawable.image1, R.drawable.image2, R.drawable.image3, ...};
public ImageAdapter(Context c) {
mContext = c;
}
public int getCount() {
return mImageIds.length;
}
public Object getItem(int position) {
return null;
}
public long getItemId(int position) {
return 0;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) {
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(350, 350));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(mImageIds[position]);
return imageView;
}
}
```
3. 在 Activity 中获取 GridView 控件,并设置 ImageAdapter 为其适配器:
```
GridView gridView = (GridView) findViewById(R.id.grid_view);
ImageAdapter adapter = new ImageAdapter(this);
gridView.setAdapter(adapter);
```
这样就可以实现一个简单的照片墙了。当然,如果需要更复杂的功能,还可以继续优化代码。