如何简单实现android gridview
时间: 2023-06-11 14:05:05 浏览: 55
您可以使用 Android 的 GridView 控件来简单实现一个网格布局。GridView 可以在行和列中展示多个项目。以下是一个简单的实现步骤:
1. 添加 GridView 控件到您的布局文件中,例如 activity_main.xml:
```
<GridView
android:id="@+id/gridview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:numColumns="3"
android:verticalSpacing="20dp"
android:horizontalSpacing="20dp"
android:padding="20dp"
android:gravity="center"
/>
```
这里 numColumns 属性定义了每行的列数,verticalSpacing 和 horizontalSpacing 属性定义了行和列之间的垂直和水平间距。
2. 创建一个 Adapter 类来管理 GridView 中的数据。
```
public class ImageAdapter extends BaseAdapter {
private Context mContext;
public ImageAdapter(Context c) {
mContext = c;
}
@Override
public int getCount() {
return mThumbIds.length;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
// 创建一个 ImageView 来显示每个图像
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) { // 如果不还有一个 ImageView 可重用
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(350, 350)); // 设置 ImageView 大小
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); // 缩放类型
imageView.setPadding(8, 8, 8, 8); // 添加 padding
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(mThumbIds[position]); //设置图像
return imageView;
}
// 储存每个图像的资源 ID
private Integer[] mThumbIds = {
R.drawable.image1,
R.drawable.image2,
R.drawable.image3,
R.drawable.image4,
R.drawable.image5,
R.drawable.image6,
R.drawable.image7,
R.drawable.image8,
R.drawable.image9
};
}
```
3. 在 activity 中设置 Adapter。
```
GridView gridView = findViewById(R.id.gridview);
gridView.setAdapter(new ImageAdapter(this));
```
现在您就可以创建一个简单的网格布局了!