GridView(网格视图)
概述
GridView用于在界面上按行、列分布的方式来显示多个组件
GridView和ListView有共同的父类 : AbsListView
区别:ListView只显示一列,而GridView可以显示多列
GridView也需要通过Adapter来提供显示的数据
XML属性
android:columnWidth | setColumnWidth(int) | 设置列的宽度 |
android:gravity | setGravity(int) | 设置对齐方式 |
android:horizontalSpacing | setHorizontalSpacing(int) | 设置各元素之间的水平间距 |
android:numColumns | setNumColumns(int) | 设置列数 |
android:verticalSpacing | setVerticalSpacing(int) | 设置各元素之间 的垂直间距 |
案例:带预览的图片
Android_GridView/res/layout_mian.xml
Android_GridView/res/cell.xml
java代码
package com.example.android_gridview;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.AdapterView.OnItemSelectedListener;import android.widget.GridView;import android.widget.ImageView;import android.widget.SimpleAdapter;public class MainActivity extends Activity { GridView grid; ImageView image; int[] imageIds = new int[] { R.drawable.one, R.drawable.two, R.drawable.three, R.drawable.four, R.drawable.one_one, R.drawable.two_two, R.drawable.three_three, R.drawable.four_four }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //创建一个List对象,List对象的元素是Map List调试效果