Android学习-使用GridView以表格形式显示多张图片

来源:互联网 发布:thinkphp cms哪个好 编辑:程序博客网 时间:2024/06/11 01:10

GridView用于在界面上按行、列分布的方式来显示多个组件

package com.example.angel.listviewpro;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.GridView;import android.widget.SimpleAdapter;import android.widget.Toast;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class MainAcitivity extends Activity implements AdapterView.OnItemClickListener {    private GridView gridView;    private List<Map<String,Object>> datalist;    private SimpleAdapter sim_adapter;    private String[]iconName ={"QQ","微信","网易云音乐","QQ音乐","QQ拼音","美团","淘宝","京东",    "设置","电话","美颜相机"};    private int[]icon={R.mipmap.ic_launcher,R.mipmap.ic_launcher,R.mipmap.ic_launcher,            R.mipmap.ic_launcher,R.mipmap.ic_launcher,R.mipmap.ic_launcher,R.mipmap.ic_launcher,    R.mipmap.ic_launcher_round,R.mipmap.ic_launcher_round,R.mipmap.ic_launcher_round,            R.mipmap.ic_launcher_round};    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main_layout);        gridView = (GridView) findViewById(R.id.gridview);        //1.准备数据源        //2.新建适配器(SimpleAdapter)        //3.GridView加载适配器        //4.GridView配置事件监听器(OnItemClickListener)        datalist = new ArrayList<Map<String,Object>>();        sim_adapter = new SimpleAdapter(this,getdata(),R.layout.resource_layout                ,new String[]{"image","text"},new int[]{R.id.image,R.id.text});        gridView.setAdapter(sim_adapter);        gridView.setOnItemClickListener(this);    }    private List<Map<String,Object>> getdata() {        for(int i =0;i<icon.length;i++){            Map<String, Object> map = new HashMap<String, Object >();            map.put("image",icon[i]);            map.put("text",iconName[i]);            datalist.add(map);        }        return datalist;    }    public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {        Toast.makeText(this,gridView.getItemAtPosition(i)+"hei",Toast.LENGTH_LONG).show();    }}
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="match_parent"    android:layout_height="match_parent">    <!--        android:numColumns="3" 每行有几列        android:horizontalSpacing="10dp" 行间距        android:verticalSpacing="10dp" 列间距    -->    <GridView        android:id="@+id/gridview"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:numColumns="3"        android:horizontalSpacing="10dp"        android:verticalSpacing="10dp">    </GridView></LinearLayout>
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:gravity="center">    <ImageView        android:id="@+id/image"        android:layout_width="60dp"        android:layout_height="60dp"        android:src="@mipmap/ic_launcher"/>    <TextView        android:id="@+id/text"        android:layout_marginTop="8dp"        android:textSize="20sp"        android:textColor="#ffffff"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="text"/></LinearLayout>

这里写图片描述

原创粉丝点击