GridView 简单实用demo

下面介绍GridView,先看看效果

 

 

 

1、显示界面

 

Java代码   收藏代码
  1. package com.grid.test;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.List;  
  5.   
  6. import android.app.Activity;  
  7. import android.os.Bundle;  
  8. import android.widget.GridView;  
  9.   
  10. public class GridTest extends Activity {  
  11.     private GridView gridview ;  
  12.     private List<GridInfo> list;  
  13.     private GridAdapter adapter;  
  14.     /** Called when the activity is first created. */  
  15.     @Override  
  16.     public void onCreate(Bundle savedInstanceState) {  
  17.         super.onCreate(savedInstanceState);  
  18.         setContentView(R.layout.gridlayout);  
  19.         gridview = (GridView) findViewById(R.id.gridview);   
  20.         list = new ArrayList<GridInfo>();  
  21.         list.add(new GridInfo("name1"));  
  22.         list.add(new GridInfo("name2"));  
  23.         list.add(new GridInfo("name3"));  
  24.         list.add(new GridInfo("name4"));  
  25.         list.add(new GridInfo("name5"));  
  26.         list.add(new GridInfo("name6"));  
  27.         list.add(new GridInfo("name6"));  
  28.         list.add(new GridInfo("name7"));  
  29.         list.add(new GridInfo("name8"));  
  30.         list.add(new GridInfo("name9"));  
  31.         list.add(new GridInfo("name10"));  
  32.         adapter = new GridAdapter(this);  
  33.         adapter.setList(list);  
  34.         gridview.setAdapter(adapter);  
  35.     }  
  36. }  

 

 

2、组件信息

 

Java代码   收藏代码
  1. package com.grid.test;  
  2. /** 
  3.  * Copyright (C) 2010,Under the supervision of China Telecom Corporation 
  4.  * Limited Guangdong Research Institute 
  5.  * The New Vphone Project 
  6.  * @Author fonter.yang 
  7.  * @Create date:2010-10-11 
  8.  *  
  9.  */  
  10. public class GridInfo {  
  11.   
  12.     private String name;  
  13.   
  14.       
  15.     public GridInfo(String name) {  
  16.         super();  
  17.         this.name = name;  
  18.     }  
  19.   
  20.     public String getName() {  
  21.         return name;  
  22.     }  
  23.   
  24.     public void setName(String name) {  
  25.         this.name = name;  
  26.     }  
  27.       
  28. }  

 

 

 

3、Adapter 实现

 

Java代码   收藏代码
  1. package com.grid.test;  
  2.   
  3. import java.util.List;  
  4.   
  5. import android.content.Context;  
  6. import android.view.LayoutInflater;  
  7. import android.view.View;  
  8. import android.view.ViewGroup;  
  9. import android.widget.BaseAdapter;  
  10. import android.widget.ImageView;  
  11. import android.widget.TextView;  
  12.   
  13. /** 
  14.  * Copyright (C) 2010,Under the supervision of China Telecom Corporation Limited 
  15.  * Guangdong Research Institute The New Vphone Project 
  16.  *  
  17.  * @Author fonter.yang 
  18.  * @Create date:2010-10-11 
  19.  *  
  20.  */  
  21. public class GridAdapter extends BaseAdapter {  
  22.   
  23.     private class GridHolder {  
  24.         ImageView appImage;  
  25.         TextView appName;  
  26.     }  
  27.   
  28.     private Context context;  
  29.   
  30.     private List<GridInfo> list;  
  31.     private LayoutInflater mInflater;  
  32.   
  33.     public GridAdapter(Context c) {  
  34.         super();  
  35.         this.context = c;  
  36.     }  
  37.   
  38.     public void setList(List<GridInfo> list) {  
  39.         this.list = list;  
  40.         mInflater = (LayoutInflater) context  
  41.                 .getSystemService(Context.LAYOUT_INFLATER_SERVICE);  
  42.   
  43.     }  
  44.   
  45.     public int getCount() {  
  46.         // TODO Auto-generated method stub  
  47.         return list.size();  
  48.     }  
  49.   
  50.     @Override  
  51.     public Object getItem(int index) {  
  52.   
  53.         return list.get(index);  
  54.     }  
  55.   
  56.     @Override  
  57.     public long getItemId(int index) {  
  58.         return index;  
  59.     }  
  60.   
  61.     @Override  
  62.     public View getView(int index, View convertView, ViewGroup parent) {  
  63.         GridHolder holder;  
  64.         if (convertView == null) {     
  65.             convertView = mInflater.inflate(R.layout.grid_item, null);     
  66.             holder = new GridHolder();  
  67.             holder.appImage = (ImageView)convertView.findViewById(R.id.itemImage);  
  68.             holder.appName = (TextView)convertView.findViewById(R.id.itemText);  
  69.             convertView.setTag(holder);     
  70.   
  71.         }else{  
  72.              holder = (GridHolder) convertView.getTag();     
  73.   
  74.         }  
  75.         GridInfo info = list.get(index);  
  76.         if (info != null) {     
  77.             holder.appName.setText(info.getName());  
  78.         }  
  79.         return convertView;  
  80.     }  
  81.   
  82. }  

 

 

4、单个组件的XML

 

Java代码   收藏代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_height="wrap_content" android:paddingBottom="4dip"  
  4.     android:layout_width="fill_parent">  
  5.     <ImageView android:layout_height="wrap_content" android:id="@+id/itemImage"  
  6.         android:layout_width="wrap_content" android:layout_centerHorizontal="true" android:src="@drawable/icon">  
  7.     </ImageView>  
  8.     <TextView android:layout_width="wrap_content"  
  9.         android:layout_below="@+id/itemImage" android:layout_height="wrap_content"  
  10.         android:text="TextView01" android:layout_centerHorizontal="true"  
  11.         android:id="@+id/itemText">  
  12.     </TextView>  
  13. </RelativeLayout>   

 

 

5、显示界面的XML

 

Java代码   收藏代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <GridView xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:id="@+id/gridview" android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent" android:numColumns="auto_fit"  
  5.     android:verticalSpacing="10dp" android:horizontalSpacing="10dp"  
  6.     android:columnWidth="90dp" android:stretchMode="columnWidth"  
  7.     android:gravity="center" />   

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值