GridView

(一)

知识点:

(1)numColumns设置列数

(2)SetOnItemClicker设置监听

1.效果图:点击小图像,图像在下边变大

2.activity_main.xml

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:tools="http://schemas.android.com/tools"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent"
 6     android:paddingBottom="@dimen/activity_vertical_margin"
 7     android:paddingLeft="@dimen/activity_horizontal_margin"
 8     android:paddingRight="@dimen/activity_horizontal_margin"
 9     android:paddingTop="@dimen/activity_vertical_margin"
10     tools:context="com.example.app2.MainActivity"
11     android:orientation="vertical">
12 
13     <GridView
14         android:id="@+id/gv"
15         android:numColumns="4"
16         android:verticalSpacing="4dp"
17         android:horizontalSpacing="4dp"
18         android:layout_gravity="center"
19         android:layout_width="wrap_content"
20         android:layout_height="wrap_content">
21     </GridView>
22 
23     <ImageView
24         android:id="@+id/iv"
25         android:layout_width="150dp"
26         android:layout_height="150dp" />
27 </LinearLayout>

2.item.xml

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent">
 5     <ImageView
 6         android:id="@+id/item_iv"
 7         android:layout_width="wrap_content"
 8         android:layout_height="wrap_content" />
 9 
10 </LinearLayout>

3.MianActivity.java

 1 package com.example.app2;
 2 
 3 import android.support.v7.app.AppCompatActivity;
 4 import android.os.Bundle;
 5 import android.view.Gravity;
 6 import android.view.View;
 7 import android.widget.AdapterView;
 8 import android.widget.GridView;
 9 import android.widget.ImageView;
10 import android.widget.SimpleAdapter;
11 
12 import java.util.ArrayList;
13 import java.util.HashMap;
14 import java.util.List;
15 import java.util.Map;
16 
17 public class MainActivity extends AppCompatActivity {
18     private GridView gridView;
19     private ImageView imageView;
20     private List list;
21     private int[] pics={R.drawable.e1,
22             R.drawable.e2,
23             R.drawable.e3,
24             R.drawable.e4,
25             R.drawable.e5,
26             R.drawable.e6,
27             R.drawable.e7,
28             R.drawable.e8,
29     };
30     private Map<String,Object> map;
31     private SimpleAdapter simpleAdapter;
32     private String[] pic_key={"pic"};
33 
34     @Override
35     protected void onCreate(Bundle savedInstanceState) {
36         super.onCreate(savedInstanceState);
37         setContentView(R.layout.activity_main);
38         gridView = (GridView)findViewById(R.id.gv);
39         imageView=(ImageView)findViewById(R.id.iv);
40 
41         //新建数据源
42         list = new ArrayList();
43         for (int i=0;i<pics.length;i++){
44             map=new HashMap<>();
45             map.put("pic",pics[i]);
46             list.add(map);
47         }
48 
49         //数据绑定适配器
50         simpleAdapter = new SimpleAdapter(MainActivity.this,list,R.layout.item,pic_key,new int[]{R.id.item_iv});
51 
52         //视图加载适配器
53         gridView.setAdapter(simpleAdapter);
54 
55         //gridView绑定监听
56         gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
57             @Override
58             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
59                 imageView.setImageResource(pics[position]);
60             }
61         });
62     }
63 }
原文地址:https://www.cnblogs.com/sunxiaoyan/p/9056003.html