首页 > 代码库 > Android学习之——GridView
Android学习之——GridView
背景知识
GridView(九宫格)在Android开发中和ListView一样经常被使用。如我们经常使用的快图浏览,里面就有将图片的布局改为网格(即GridView)的选项。
定义
GridView
is a ViewGroup
that displays items in a two-dimensional, scrollable grid. The grid items are automatically inserted to the layout using a ListAdapter
网格视图是一个二维的可滚动的网格中展示网格项的视图集合。网格项使用ListAdapter自动插入到布局中。
Demo
MainActivity
1 package com.johntsai.gridviewdemo; 2 3 import java.util.ArrayList; 4 import java.util.HashMap; 5 6 import android.app.Activity; 7 import android.content.Intent; 8 import android.os.Bundle; 9 import android.view.View;10 import android.widget.AdapterView;11 import android.widget.AdapterView.OnItemClickListener;12 import android.widget.GridView;13 import android.widget.SimpleAdapter;14 import android.widget.Toast;15 16 public class MainActivity extends Activity {17 private int ids[]={18 R.drawable.aaa,19 R.drawable.bbb,20 R.drawable.ccc,21 R.drawable.ddd,22 R.drawable.eee,23 R.drawable.fff,24 R.drawable.ggg,25 R.drawable.hhh,26 R.drawable.aaa27 };28 private GridView gridView;29 @Override30 protected void onCreate(Bundle savedInstanceState) {31 super.onCreate(savedInstanceState);32 setContentView(R.layout.activity_main);33 34 gridView = (GridView)findViewById(R.id.gridview);35 36 ArrayList<HashMap<String, Object>> images = new ArrayList<HashMap<String,Object>>();37 for(int i=0;i<ids.length;i++){38 HashMap<String, Object>map = new HashMap<String, Object>();39 map.put("Image", ids[i]);40 map.put("Id", "Android"+i+"号");41 images.add(map);42 }43 44 SimpleAdapter adapter = new SimpleAdapter(this,45 images, R.layout.gridview_item, 46 new String[]{"Image","Id"}, new int[]{R.id.imageItem,R.id.idItem});47 gridView.setAdapter(adapter);48 49 gridView.setOnItemClickListener(new OnItemClickListener() {50 51 @Override52 public void onItemClick(AdapterView<?> parent, View view,53 int position, long id) {54 Toast.makeText(getApplicationContext(), 55 "你点击了" + position+"号", Toast.LENGTH_LONG).show();56 57 }58 });59 }60 }
主界面布局文件
<?xml version="1.0" encoding="utf-8"?><GridView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/gridview" android:layout_width="match_parent" android:layout_height="match_parent" android:columnWidth="90dp" android:numColumns="auto_fit" android:stretchMode="columnWidth" android:gravity="center"/><!-- android:columnWidth="90dp" 列宽设置为90dp android:numColumns="auto_fit"列数设置为自动 android:stretchMode="columnWidth" 缩放与列的宽度同步 -->
GridView项布局文件
1 <?xml version="1.0" encoding="utf-8"?> 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:paddingBottom="4dip"> 6 7 <ImageView 8 android:id="@+id/imageItem" 9 android:layout_height="70dp"10 android:layout_width="70dp"11 android:layout_centerHorizontal="true"12 />13 <TextView 14 android:id="@+id/idItem"15 android:layout_height="wrap_content"16 android:layout_width="70dp"17 android:layout_centerHorizontal="true"18 android:layout_below="@id/imageItem"19 />20 </RelativeLayout>
运行效果:
Android学习之——GridView
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。