`
fonter
  • 浏览: 868342 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android GridView 例子

阅读更多

下面介绍GridView,先看看效果

 

 

 

1、显示界面

 

package com.grid.test;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.widget.GridView;

public class GridTest extends Activity {
	private GridView gridview ;
	private List<GridInfo> list;
	private GridAdapter adapter;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.gridlayout);
        gridview = (GridView) findViewById(R.id.gridview); 
        list = new ArrayList<GridInfo>();
        list.add(new GridInfo("name1"));
        list.add(new GridInfo("name2"));
        list.add(new GridInfo("name3"));
        list.add(new GridInfo("name4"));
        list.add(new GridInfo("name5"));
        list.add(new GridInfo("name6"));
        list.add(new GridInfo("name6"));
        list.add(new GridInfo("name7"));
        list.add(new GridInfo("name8"));
        list.add(new GridInfo("name9"));
        list.add(new GridInfo("name10"));
        adapter = new GridAdapter(this);
        adapter.setList(list);
        gridview.setAdapter(adapter);
    }
}

 

 

2、组件信息

 

package com.grid.test;
/**
 * Copyright (C) 2010,Under the supervision of China Telecom Corporation
 * Limited Guangdong Research Institute
 * The New Vphone Project
 * @Author fonter.yang
 * @Create date:2010-10-11
 * 
 */
public class GridInfo {

	private String name;

	
	public GridInfo(String name) {
		super();
		this.name = name;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
}

 

 

 

3、Adapter 实现

 

package com.grid.test;

import java.util.List;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

/**
 * Copyright (C) 2010,Under the supervision of China Telecom Corporation Limited
 * Guangdong Research Institute The New Vphone Project
 * 
 * @Author fonter.yang
 * @Create date:2010-10-11
 * 
 */
public class GridAdapter extends BaseAdapter {

	private class GridHolder {
		ImageView appImage;
		TextView appName;
	}

	private Context context;

	private List<GridInfo> list;
	private LayoutInflater mInflater;

	public GridAdapter(Context c) {
		super();
		this.context = c;
	}

	public void setList(List<GridInfo> list) {
		this.list = list;
		mInflater = (LayoutInflater) context
				.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

	}

	public int getCount() {
		// TODO Auto-generated method stub
		return list.size();
	}

	@Override
	public Object getItem(int index) {

		return list.get(index);
	}

	@Override
	public long getItemId(int index) {
		return index;
	}

	@Override
	public View getView(int index, View convertView, ViewGroup parent) {
		GridHolder holder;
		if (convertView == null) {   
			convertView = mInflater.inflate(R.layout.grid_item, null);   
			holder = new GridHolder();
			holder.appImage = (ImageView)convertView.findViewById(R.id.itemImage);
			holder.appName = (TextView)convertView.findViewById(R.id.itemText);
			convertView.setTag(holder);   

		}else{
			 holder = (GridHolder) convertView.getTag();   

		}
		GridInfo info = list.get(index);
		if (info != null) {   
			holder.appName.setText(info.getName());
		}
		return convertView;
	}

}

 

 

4、单个组件的XML

 

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_height="wrap_content" android:paddingBottom="4dip"
	android:layout_width="fill_parent">
	<ImageView android:layout_height="wrap_content" android:id="@+id/itemImage"
		android:layout_width="wrap_content" android:layout_centerHorizontal="true" android:src="@drawable/icon">
	</ImageView>
	<TextView android:layout_width="wrap_content"
		android:layout_below="@+id/itemImage" android:layout_height="wrap_content"
		android:text="TextView01" android:layout_centerHorizontal="true"
		android:id="@+id/itemText">
	</TextView>
</RelativeLayout> 

 

 

5、显示界面的XML

 

<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
	android:id="@+id/gridview" android:layout_width="fill_parent"
	android:layout_height="fill_parent" android:numColumns="auto_fit"
	android:verticalSpacing="10dp" android:horizontalSpacing="10dp"
	android:columnWidth="90dp" android:stretchMode="columnWidth"
	android:gravity="center" /> 

 

 

6、源码下载

 

  • 大小: 12.7 KB
分享到:
评论
6 楼 zbasd 2011-03-30  
boygirl 写道
这样的话,事件怎么添加进去呢?

setAdapter();
setOnItemClickListener();这样应该行
5 楼 Lee_Dewyze 2011-03-30  
还没尝试过GridView的布局方式呢  thanks
4 楼 fonter 2011-03-26  
boygirl 写道
这样的话,事件怎么添加进去呢?

GridAdapter的getView里
3 楼 boygirl 2011-03-26  
这样的话,事件怎么添加进去呢?
2 楼 fonter 2010-10-13  
aa87963014 写道
我一直觉得GridView 还存在很多问题

什么问题?
1 楼 aa87963014 2010-10-13  
我一直觉得GridView 还存在很多问题

相关推荐

    Android GridView使用例子

    在这个"Android GridView使用例子"中,我们将深入探讨如何有效地利用GridView来构建动态且交互性强的用户界面。 1. **GridView的基本概念** GridView继承自AbsListView,它可以显示一列或多列水平对齐的项目。每个...

    android Gridview分页实现

    在Android开发中,GridView是一种常用的布局控件,它允许我们以网格的形式展示数据。当我们处理大量数据时,分页加载可以提高应用性能,减少内存消耗,并提供更好的用户体验。本篇文章将详细讲解如何在Android中利用...

    Android GridView实现一行显示并左右滚动

    在这个例子中,我们设置了GridView的列数为1,使其在HorizontalScrollView内以单行显示。 为了让用户选中某项后,再次打开应用时能直接定位到该选中项,我们需要保存用户的选中状态。这可以通过SharedPreferences...

    android GridView实现支付宝拖动例子

    android GridView实现支付宝拖动例子

    android GridView长按拖动,删除

    这个例子就是关于如何在Android的GridView中实现这些高级功能。 首先,让我们详细了解一下GridView的基本概念。GridView继承自AbsListView,它会将数据集(通常来自Adapter)渲染成一个二维的、可滚动的视图。每个...

    Android之GridView视图实现

    在Android开发中,GridView是一种非常常见的布局控件,它允许我们以网格的形式展示数据,通常用于创建类似照片墙、菜单选项或图标排列等界面。在本教程中,我们将...希望这个例子能帮助你更好地理解和应用GridView。

    android的GridView底部加载更多例子

    本示例"android的GridView底部加载更多例子"探讨了如何在GridView中实现无限滚动加载功能,即用户无需点击加载更多按钮,只需上拉屏幕,内容就会自动加载。这种特性极大地提升了用户体验,尤其是在处理大量数据时。 ...

    Android GridView拖动效果

    在Android开发中,GridView是一种非常常见的布局控件,它允许我们以网格的形式展示数据,通常用于...在提供的Android例子源码仿Launcher的GridView拖动中,你可以找到完整的实现示例,进一步学习和理解这一功能的细节。

    Android GridView + ViewFlipper布局界面,模仿“机锋市场.zip

    在Android开发中,GridView与ViewFlipper是两种常用的布局组件,它们可以被巧妙地结合以创建出丰富的用户界面。在本示例中,“Android GridView + ViewFlipper布局界面,模仿“机锋市场”是一个源码项目,旨在演示...

    GridView的小例子

    总结起来,"GridView的小例子"是一个实践性很强的Android开发教程,涵盖了GridView的基本使用、自定义Adapter、选择器定制等多个重要知识点。通过这个示例,开发者可以深入理解GridView的工作原理,并学会如何根据...

    android gridview例程demo

    在这个例子中,我们可能使用自定义的Adapter,如GridViewAdapter,将数据集(如ArrayList)转换为可显示的GridView单元格。Adapter的`getView()`方法是关键,负责创建和更新每个单元格的视图。 3. **数据绑定** 在...

    gridview添加删除例子

    在这个"gridview添加删除例子"中,我们将深入探讨如何动态地在GridView中添加和删除数据。 首先,GridView的添加功能通常涉及到后台数据源的管理。在ASP.NET中,可以使用诸如SqlDataSource或EntityDataSource这样的...

    android的listview和gridView的例子

    在Android开发中,ListView和GridView是两种非常常用的控件,它们用于展示大量数据,并且具有良好的滚动性能。这两个组件在用户界面设计中扮演着至关重要的角色,尤其在展示列表或网格形式的数据时。本篇文章将深入...

    Android GridView表格排列.rar

    在Android开发中,GridView是一种非常常见的视图组件,它允许我们以网格的形式展示数据,通常用于创建类似照片相册、应用列表等界面。本教程将深入讲解如何在Android中使用GridView进行表格排列。 首先,GridView的...

    android ListView,GridView 高效异步加载图片例子

    ListView和GridView里加载图片,有很多种实现方式,但是如果用不好很容易导致各种问题,比如内存溢出、图片错位、体验效果差等问题。 现在我将开源项目GreenDroid里异步加载图片代码提取出来做成一个jar包。有效...

    andriod gridview例子

    在这个例子中,“andriod gridview例子”是一个可以直接导入并运行的Android工程,旨在帮助开发者理解如何在实际项目中使用GridView。 GridView的基本用法: 1. **布局定义**:在XML布局文件中,你需要添加一个`...

    android GridView实现横向滑动

    在Android开发中,GridView是一种常用的布局管理器,它允许我们以网格的形式展示数据。通常,GridView默认是垂直滚动的,但有时我们可能需要创建一个可以横向滑动的GridView,这在展示大量横向数据或者创建独特界面...

    android-UI.rar_Android GridView_DEMO_ListView_android listview_g

    在"android-UI.rar"的子文件"DuanXinTong"可能是一个包含多个例子的项目,每个例子展示了不同的功能或使用场景,如动态加载数据、动画效果、下拉刷新、侧滑删除等。这些实例可以帮助开发者理解`ListView`和`GridView...

    Android Studio —— GridView(模仿魅蓝手机下拉窗口)

    在这个例子中,我们可能会创建一个自定义的`GridViewAdapter`,并重写`getView()`方法来定制每个单元格的视图。同时,别忘了在`GridView`中设置适配器: ```java GridView gridView = findViewById(R.id.grid_view)...

Global site tag (gtag.js) - Google Analytics