GridView比ListView多了一个列数的属性,可以理解成表格View,用法和ListView类似,都是用Adapter绑定数据和格式。
常用属性:
stretchMode有以下几种选项:
简单示例:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".GridViewActivity">
<GridView
android:id="@+id/gd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:numColumns="2"
android:horizontalSpacing="10dp"
android:verticalSpacing="10dp"
android:background="@color/teal_200"
></GridView>
</LinearLayout>
package com.example.chapter08;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.GridView;
import com.example.chapter08.entity.Planet;
import java.util.List;
public class GridViewActivity extends AppCompatActivity {
private GridView gd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_grid_view);
gd = findViewById(R.id.gd);
List<Planet> list = Planet.getDefaultList();
PlanetBaseAdapter adapter = new PlanetBaseAdapter(this, list);
gd.setAdapter(adapter);
}
}