`
Que
  • 浏览: 15927 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

GridView的一般用法

阅读更多

  GridView is a ViewGroup that displays items in a two-dimensional, scrollable grid.(这里GroidView作为一个View容器,负责二维显示view控件,和ListView类似),下面通过对Android帮助文档的例子作修改后所完成的效果:

 

    http://xiaolongque.iteye.com/picture/92946

 

               <在显示图片的同时显示文字>

               例子中这丑狗的图片可从下载http://developer.android.com/shareables/sample_images.zip

 

   好的,首先我们先把图片保存到res/drawable文件夹中

   定义以下两个布局文件

 

<?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:columnWidth="90dip"
          android:numColumns="auto_fit"
          android:verticalSpacing="10dp"
          android:horizontalSpacing="10dp"
          android:stretchMode="columnWidth"
          android:gravity="center"
          />

 

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
<ImageView android:id="@+id/iv"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           />
<TextView android:id="@+id/tv"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"         
          android:text="test"
          />
</LinearLayout>

 

    其中child.xml中定义GridView中每一点的子控件内容

 

    Activity如下:

 

 

package com.xl;
/*
 * author by Que
 */
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TextView;

public class HelloGridView extends Activity {
	private GridView gridView ;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        gridView = (GridView)findViewById(R.id.gridview);
        NewAdapter adapter = new NewAdapter(HelloGridView.this);
        gridView.setAdapter(adapter);
    }
    
    
    public class NewAdapter extends BaseAdapter{

         public final class ViewHolder{
 	    	ImageView img;
 	    	TextView text1;	    	
 	    }

                private LayoutInflater layout = null;
    	
    		public NewAdapter(Context context) { 			//获取上下文对象
    		
    			this.layout = LayoutInflater.from(context);
    			
    		}
		@Override
		public int getCount() {
			// TODO Auto-generated method stub
			return mThumbIds.length;
		}

		@Override
		public Object getItem(int position) {
			// TODO Auto-generated method stub
			return null;
		}

		@Override
		public long getItemId(int position) {
			// TODO Auto-generated method stub
			return 0;
		}

		@Override
		public View getView(int position, View convertView, ViewGroup parent) {
			// TODO Auto-generated method stub
			ViewHolder holder ;
			if(convertView == null) {
				holder = new ViewHolder();
				convertView = layout.inflate(R.layout.child, null);
				holder.img = (ImageView)convertView.findViewById(R.id.iv);
				holder.text1 = (TextView)convertView.findViewById(R.id.tv);
				convertView.setTag(holder);
			}else {
				holder = (ViewHolder) convertView.getTag();
			}
			holder.img.setImageResource(mThumbIds[position]);
			//holder.img.setLayoutParams(new GridView.LayoutParams(85,85));
			holder.img.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
			
			holder.img.setPadding(8, 8, 8, 8);
			
			return convertView;
		}
		
		private final Integer[] mThumbIds = {
	            R.drawable.sample_2, R.drawable.sample_3,
	            R.drawable.sample_4, R.drawable.sample_5,
	            R.drawable.sample_6, R.drawable.sample_7,
	            R.drawable.sample_0, R.drawable.sample_1,
	            R.drawable.sample_2, R.drawable.sample_3,
	            R.drawable.sample_4, R.drawable.sample_5,
	            R.drawable.sample_6, R.drawable.sample_7,
	            R.drawable.sample_0, R.drawable.sample_1,
	            R.drawable.sample_2, R.drawable.sample_3,
	            R.drawable.sample_4, R.drawable.sample_5,
	            R.drawable.sample_6, R.drawable.sample_7
	    };
    	
    }
    
	

}
 

    通过继承BaseAdapter,根据getCount来调用getView对数据进行一一映射。其中

 

                                convertView = layout.inflate(R.layout.child, null);
				holder.img = (ImageView)convertView.findViewById(R.id.iv);
				holder.text1 = (TextView)convertView.findViewById(R.id.tv);

    Inflate a new view hierarchy from the specified xml resource.(从一个xml布局文件中获取view层次结构并赋予convertView,通过convertView来实例化ImageView和TextView组件。由此我们可以在里面对布局文件中所包含的所有控件进程初始化处理,如设置事件监听。

分享到:
评论

相关推荐

    GridView的使用方法

    ### GridView的使用方法详解 #### 一、GridView无代码分页与排序 在ASP.NET中,GridView 控件是一个非常强大的工具,它可以帮助开发者快速地在网页上展示数据,并且提供了许多内置的功能,如分页、排序等。无代码...

    Gridview用法大全

    Gridview用法大全Gridview用法大全Gridview用法大全Gridview用法大全Gridview用法大全Gridview用法大全Gridview用法大全Gridview用法大全Gridview用法大全Gridview用法大全Gridview用法大全Gridview用法大全Gridview...

    GridView 控件经典用法

    以上就是GridView控件的一些经典用法,掌握这些技巧将极大地提升你在开发Web应用时的数据展示和交互能力。在实际项目中,可以根据需求灵活运用这些功能,以创建出美观且功能丰富的数据展示界面。

    GridView控件用法Demo

    GridView通过`DataSource`属性与数据源关联,使用`DataBind()`方法将数据加载到控件中。可以使用`SelectCommand`属性配合SqlDataSource或ObjectDataSource进行数据检索。 3. **字段配置**: GridView的字段由`...

    gridview使用技巧、gridview使用大全、gridview常用问题、gridview常用方法

    在本文中,我们将深入探讨GridView的使用技巧、大全、常见问题以及常用方法,旨在帮助开发者更好地理解和应用这一强大的工具。 1. GridView简介: GridView控件允许用户以表格的形式显示数据,通常与数据源(如...

    GridView全部用法实例详解

    在本教程中,我们将深入探讨GridView的全部用法,包括但不限于布局设置、适配器的使用、自定义项以及事件监听。 1. GridView基本结构 GridView是一个二维的列表,它的每一行具有相同的列数。在XML布局文件中,我们...

    GridView内嵌套使用GridView

    在本项目中,我们探讨的主题是“GridView内嵌套使用GridView”,这通常是为了实现更复杂的数据显示,例如,当数据有层次关系时,可以通过内嵌套的方式展现这些层次结构。 在Visual Studio 2005环境下,开发人员可以...

    android下GridView用法

    本教程将详细讲解Android中的GridView及其使用方法。 1. GridView简介: GridView继承自ViewGroup,它会把子视图按照指定的列数进行排列,形成一个可滚动的网格视图。每个子视图可以是ImageView、TextView或其他...

    Gridview控件用法Demo示例源码

    Gridview控件用法Demo 1:语言:ASP.NET(C#) 运行环境:Visual Studio2005+Access 2:功能模块简介 a)Gridview表头表尾; b)实现Gridview数据与Excel互导; c)Gridview多层嵌套的应用; d)Gridview分页排序功能的...

    gridview用法大全

    本篇文章将详细阐述GridView的使用方法,包括基本配置、数据绑定、事件处理、自定义样式以及一些高级特性。 首先,GridView的基本配置涉及控件的初始化和属性设置。在ASP.NET页面的HTML部分,我们需要声明一个...

    java gridview使用方法

    在本篇中,我们将深入探讨Java GridView的使用方法,特别针对Android平台。 1. **GridView的布局** 在Android开发中,GridView是`android.widget.GridView`类的一部分。首先,我们需要在XML布局文件中添加GridView...

    DataGridView和GridView常用用法

    在.NET框架中,DataGridView和GridView是两种常用的控件,用于显示和操作表格数据。它们都是Windows Forms和ASP.NET环境中处理数据的重要组件。虽然两者在视觉上相似,但它们的应用场景和功能有所不同。以下是对这两...

    Gridview用法大总结

    这篇大总结将深入探讨GridView的基本概念、使用方式、自定义以及在实际应用中的优化策略。 一、GridView基本概念 GridView是一种视图组件,它允许开发者以二维网格的形式显示数据集合。每个网格单元称为一个item,...

    GridView使用方法总结.rar_gridview

    这篇文档将深入讲解GridView的使用方法,包括基本配置、数据绑定、自定义适配器、事件处理等方面。 一、GridView的基本使用 1. 布局文件配置:在XML布局文件中,我们需要添加GridView标签,并设置其属性。例如,`...

    AspxGridView使用手记

    ### 一、基本使用方法 在使用AspxGridView前,需要先导入必要的DLL文件,并在Asp.Net页面中注册控件。控件声明后,可以删除licenses.licx文件,但请注意这可能涉及到版权问题。功能概述包括控件的各种功能和操作。 ...

    c# gridview 基本用法

    本在做项目过程中,使用了在网上查的一些关于gridview的用法。很好,所以推荐给大家.

    Gridview72绝技gridview常用用法

    - **核心知识点**:本节提供了一种仅使用CSS来实现Gridview固定表头的方法。 - **详细说明**:通过CSS定位属性(如position: sticky)来固定表头,无需额外的JavaScript脚本。 #### 16. GridView合并表头多重表头无...

    C# GridView 用法技巧资料整合

    以下是对给定内容中涉及的C# GridView用法技巧的详细解释: 1. **无代码分页排序**: - `AllowSorting` 属性设置为 `True`,允许用户通过点击列头进行排序。 - `PageSize` 属性设定每页显示的数据条数,例如 `...

    Gridview的用法

    对于动态数据源,可以使用DataBind()方法手动进行数据绑定。 其次, GridView的列配置是关键。通过Columns集合,我们可以添加BoundField(文本字段)、TemplateField(模板字段)等,以显示不同类型的数据显示。...

Global site tag (gtag.js) - Google Analytics