GridView的简单学习
package com.crazyit.ui.adapterview;import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.SimpleAdapter;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;/*** 带预览的图片浏览器*/
public class GridviewActivity extends AppCompatActivity {private GridView grid;private ImageView image;//创建一个图片显示资源数组int[] imageId = new int[]{R.drawable.bomb5, R.drawable.bomb6,R.drawable.bomb7,R.drawable.bomb8, R.drawable.bomb9, R.drawable.bomb10,R.drawable.bomb11, R.drawable.bomb12, R.drawable.bomb13,R.drawable.bomb14, R.drawable.bomb15, R.drawable.bomb16};@Overrideprotected void onCreateBundle savedInstanceState) {super.onCreatesavedInstanceState);setContentViewR.layout.activity_gridview);//创建一个 List集合 对象是 MapList<Map<String, Object>> itemLists = new ArrayList<>);for int i = 0; i < imageId.length; i++) {Map<String, Object> itemList = new HashMap<>);itemList.put"image", imageId[i]);// 上下注意看清楚itemLists.additemList);//获取显示图片的Imageviewimage = ImageView) findViewByIdR.id.imageView);//创建一个SimpleAdapterSimpleAdapter mAdapter = new SimpleAdaptergetApplication), //上下文itemLists, //数据集合 List集合类型Map<String,Object>//添加一个布局文件作为填充组件R.layout.item_image, //资源ID//切记注意这里的“Key”千万不要写错,不然不会显示图片new String[]{"image"}, //Map集合中的 Key值new int[]{R.id.iv} //显示条目的);//创建gridView对象grid = GridView) findViewByIdR.id.grid01);//为GridView 设置adaptergrid.setAdaptermAdapter);//wei 为列表条目添加监听事件grid.setOnItemSelectedListenernew AdapterView.OnItemSelectedListener) {@Overridepublic void onItemSelectedAdapterView<?> parent, View view, int position, long id) {//显示被选中的图片image.setImageResourceimageId[position]);}@Overridepublic void onNothingSelectedAdapterView<?> parent) {}});//wei为列表条目添加 单击事件grid.setOnItemClickListenernew AdapterView.OnItemClickListener) {@Overridepublic void onItemClickAdapterView<?> parent, View view, int position, long id) {image.setImageResourceimageId[position]);}});}}
}
布局文件
只是一个简单的垂直线性布局 上面是GridView 下面是 ImageView
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"
android:orientation="vertical"android:gravity="center_horizontal"tools:context="com.crazyit.ui.adapterview.GridviewActivity"><!--定义一个gridView组件--><GridView
android:id="@+id/grid01"android:layout_width="match_parent"android:layout_height="wrap_content"android:horizontalSpacing="1dp"android:verticalSpacing="1dp"android:numColumns="4"android:gravity="center"></GridView><!--定义一个ImageView--><ImageView
android:layout_marginBottom="10dp"android:id="@+id/imageView"android:layout_width="100dp"android:layout_height="100dp"android:layout_gravity="center_horizontal"/>
</LinearLayout>
###每个GridView的条目显示
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="horizontal"android:layout_width="fill_parent"android:layout_height="fill_parent"android:gravity="center_horizontal"android:padding="2pt"><ImageView
android:background="#f00"android:id="@+id/iv"android:layout_width="50dp"android:layout_height="50dp"/>
</LinearLayout>
“`