GridView用于在界面上按照行列分布的方式显示多个组件
在layout中布局两个文件
一个是需要布局的样式一个是gridview
其中
//每一行显示多少页
//两列之间的间距
//两行之间的间距
<GridView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:horizontalSpacing="10dp"
android:numColumns="3"
android:verticalSpacing="10dp"
android:id="@+id/gridView" />
配置文件中
android:theme="@android:style/Theme.Black.NoTitleBar"
public class MainActivity extends Activity implements AdapterView.OnItemClickListener {
private GridView gridView;
private List<Map<String,Object>>datalist;
private int[]icon={R.drawable.address_book,R.drawable.calendar,R.drawable.camera,R.drawable.clock,R.drawable.games_control,R.drawable.messenger,R.drawable.settings,R.drawable.speech_balloon,R.drawable.youtube,R.drawable.world,R.drawable.ringtone,R.drawable.weather};
private String[]iconName={"通讯录","日历","照相","闹钟","游戏","短信","设置","语音","视频","浏览器","铃声","天气"};
private SimpleAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gridView =(GridView)findViewById(R.id.gridView);
//1准备数据源,
//2新建适配器 simpleAdapter
//3加载适配器
//4配置监听
datalist = new ArrayList<Map<String, Object>>();
// getDate();
adapter = new SimpleAdapter(this,getDate(),R.layout.item,new String[]{"imag","text"},new int[]{R.id.imag,R.id.textView});
gridView.setAdapter(adapter);
gridView.setOnItemClickListener(this);
}
private List<Map<String,Object>> getDate(){
for(int i=0;i<icon.length;i++){
Map<String,Object>map=new HashMap<String, Object>();
map.put("imag",icon[i]);
map.put("text",iconName[i]);
datalist.add(map);
}
return datalist;
}
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
}
}