一個常見的使用案例是在移動應用中展示一個圖片或者商品列表。GridView 是一個可滾動的列表視圖,可以用來展示大量的項目,并且可以根據需要進行滾動。下面是一個簡單的案例講解:
<GridView
android:id="@+id/grid_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:numColumns="3"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:padding="10dp"
android:scrollbars="vertical"
android:gravity="center"
/>
GridView gridView = findViewById(R.id.grid_view);
gridView.setAdapter(new MyAdapter(this));
public class MyAdapter extends BaseAdapter {
private Context mContext;
public MyAdapter(Context context) {
mContext = context;
}
@Override
public int getCount() {
return 9; // 假設有 9 個項目
}
@Override
public Object getItem(int position) {
return null; // 不需要實現
}
@Override
public long getItemId(int position) {
return 0; // 不需要實現
}
@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(200, 200));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
} else {
imageView = (ImageView) convertView;
}
// 設置每個 ImageView 的圖片資源
imageView.setImageResource(R.drawable.image);
return imageView;
}
}
在這個案例中,我們首先在布局文件中添加了一個 GridView 控件,并設置了一些屬性,如列數、垂直和水平間距等。然后,在 Java 代碼中獲取 GridView 的引用,并為其設置一個自定義的適配器。適配器類中實現了 getCount、getItem、getItemId 和 getView 方法,其中 getView 方法用于為每個項目創建或重用一個 ImageView,并設置圖片資源。
這樣,當應用運行時,GridView 就會根據適配器提供的數據來展示圖片列表。用戶可以通過滑動來查看更多的圖片,并且可以點擊某個圖片來進行相應的操作。