`

玩转Android---UI篇---GridView(网格布局)

阅读更多

GridView按照行列的方式来显示内容,一般适合显示图标、图片等内容,主要用于设置Adapter

在这里主要是基础BaseAdapter类,重写其中的方法,主要是重写getView方法设置图片的显示格式

 

实例代码如下

GridViewTest.java

/*
 * @author hualang
 */
package org.hualang.grid;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;

public class GridViewTest extends Activity {
    /** Called when the activity is first created. */
	private GridView gv;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        //通过findViewById方法获得GridView对象
        gv=(GridView)findViewById(R.id.GridView01);
        //设置GridView的行数
        gv.setNumColumns(4);
        gv.setAdapter(new MyAdapter(this));
    }
    //自定义适配器
    class MyAdapter extends BaseAdapter
    {
    	//图片id数组
    	private Integer[] imgs={
    			R.drawable.img01,
    			R.drawable.img02,
    			R.drawable.img03,
    			R.drawable.img04,
    			R.drawable.img05,
    			R.drawable.img06,
    			R.drawable.img07,
    			R.drawable.img08,
    			
    			R.drawable.img01,
    			R.drawable.img02,
    			R.drawable.img03,
    			R.drawable.img04,
    			R.drawable.img05,
    			R.drawable.img06,
    			R.drawable.img07,
    			R.drawable.img08
    	};
    	//上下文对象
    	Context context;
    	//构造方法
    	MyAdapter(Context context)
    	{
    		this.context=context;
    	}
    	//获得数量
    	public int getCount()
    	{
    		return imgs.length;
    	}
    	//获得当前选项
    	public Object getItem(int item)
    	{
    		return item;
    	}
    	//获得当前选项id
    	public long getItemId(int id)
    	{
    		return id;
    	}
    	
    	//创建View方法
    	public View getView(int position,View convertView,ViewGroup parent)
    	{
    		ImageView imageView;
    		if(convertView==null)
    		{
    			//实例化ImageView对象
    			imageView=new ImageView(context);
    			//设置ImageView对象布局
    			imageView.setLayoutParams(new GridView.LayoutParams(45,45));
    			//设置边界对齐
    			imageView.setAdjustViewBounds(false);
    			//设置刻度类型
    			imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
    			//设置间距
    			imageView.setPadding(8,8,8,8);
    		}else
    		{
    			imageView=(ImageView)convertView;
    		}
    		//为ImageView设置图片资源
    		imageView.setImageResource(imgs[position]);
    		return imageView;
    	}
		
    }
}

 main.xml

<?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"
    >
<GridView 
	android:id="@+id/GridView01" 
	android:layout_width="wrap_content" 
	android:layout_height="wrap_content"></GridView>
</LinearLayout>

 运行结果如下


  • 大小: 18.3 KB
分享到:
评论
3 楼 gjhappyyy 2011-12-08  
//设置GridView的行数 
        gv.setNumColumns(4);

这个不对呀,这个方法是设置显示的列数,而不是行数
2 楼 hualang 2011-09-05  
ZZX19880809 写道
GridView.LayoutParams(45,45)是不是应该是ViewGroup.LayoutParams(45,45)?

GridView是ViewGroup的子类,可以使用
1 楼 ZZX19880809 2011-09-05  
GridView.LayoutParams(45,45)是不是应该是ViewGroup.LayoutParams(45,45)?

相关推荐

    Android---UI篇

    •Android---UI篇---GridView(网格布局) • •Android---UI篇---Gallery(画廊视图) • •Android---UI篇---Spinner(下拉列表) • •Android---UI篇---TabWidget(切换卡) • •Android---UI篇---LinearLayout...

    android-GridView-事件-Intent-传递参数1.rar

    在Android开发中,GridView是一个非常常用的布局组件,它允许我们以网格的形式展示数据,通常用于创建类似九宫格的效果。GridView通常与Adapter一起工作,Adapter是连接数据源和视图的关键,它可以动态地填充和更新...

    Android-PullToRefresh-master

    《Android-PullToRefresh-master:实现拉动刷新ListView的开源库详解》 在移动应用开发中,用户界面的交互性是提升用户体验的关键因素之一。在Android平台上,ListView是一种常用的控件,用于显示大量的列表数据。...

    android-collapse-calendar-view-Android.zip

    综上所述,"android-collapse-calendar-view-Android"控件展示了Android UI设计和动画实现的深度,涵盖了视图状态管理、动画效果、布局设计、性能优化等多个方面。对于任何希望提升其Android应用界面交互体验的...

    android-UI.rar_Android GridView_DEMO_ListView_android listview_g

    在Android开发中,UI设计是至关重要的一环,而`ListView`和`GridView`是两种常用的布局控件,常用于展示大量的数据列表。本教程通过一个名为"android-UI.rar"的压缩包,提供了关于Android `GridView`和`ListView`的...

    android-GridView显示图片点击放大.zip

    在Android开发中,GridView是一种非常常见的布局控件,它允许我们以网格的形式展示数据,通常用于创建类似相册、应用列表等界面。本项目“android-GridView显示图片点击放大”提供了一个实现GridView显示图片并支持...

    Android --可刷新的GridView

    在Android开发中,GridView是一种常用的布局管理器,它允许我们以网格的形式展示数据集,通常用于创建类似照片墙、应用列表等界面。本篇文章将深入探讨如何在Android中实现一个可刷新的GridView,以提高用户体验并...

    Android高仿支付宝gridview网格布局

    在Android开发中,为了实现类似支付宝应用中的网格布局效果,我们可以使用自定义的GridView或者RecyclerView。这个主题将深入探讨如何创建一个高效的、可定制的网格布局,以达到支付宝应用的用户体验。 首先,让...

    GridView系列---GridView固定表头

    在Android开发中,GridView是一种常见的布局管理器,用于展示数据集,通常以网格形式排列。在数据量较大或者需要分页显示时,GridView配合Adapter能够高效地处理数据。本篇文章将深入探讨“GridView系列---GridView...

    android-ListView内嵌GridView

    在Android开发中,ListView和GridView是两种常用的布局控件,它们用于展示大量数据。ListView以其垂直滚动、可复用视图的优势,常用于显示一列数据;而GridView则以网格形式展示,通常用于图片或者小图标等需要均匀...

    Android-提高AndroidUI开发效率的UI库

    6. **布局工具**:QMUI 提供了一些布局工具类,如 GridSpanSizeLookup,帮助开发者在GridView或者RecyclerView中实现复杂的布局效果,比如瀑布流或栅格布局。 7. **国际化支持**:QMUI 支持多语言切换,方便开发者...

    android ListView 网格布局

    总结起来,创建一个Android的网格布局ListView主要涉及以下几个步骤:设计网格项布局、创建自定义Adapter、在Activity中设置GridView并加载数据。通过灵活地调整布局和Adapter,你可以实现各种复杂的网格布局效果。...

    Android代码-android-drag-FlowLayout

    this is a draggable flow layout lib (android 可拖拽的流布局库) . Sample apk/示例app 特点 1, 类似可拖拽的GridView. 不过gridView 宽度/个数是固定的。 这个布局item宽度是不定的(放不下自动换行)。 2,...

    Android代码-GridView.zip

    在Android开发中,GridView是一种非常常见的视图组件,它允许我们以网格的形式展示数据,通常用于创建像照片库、菜单选项或图标排列等界面。在本压缩包"Android代码-GridView.zip"中,我们可以期待找到一个关于如何...

    android Gridview分页实现

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

    安卓gridview相关相关-GridView-带标题栏的-TV-控件.rar

    在Android开发中,GridView是一种非常常见的布局控件,它允许我们以网格的形式展示数据,通常用于创建类似照片墙、应用列表等界面。本资源“安卓gridview相关相关-GridView-带标题栏的-TV-控件.rar”似乎包含了一个...

    android-Ultra-Pull-To-Refresh

    它提供了丰富的动画效果,支持ListView、GridView、RecyclerView等多种列表视图,同时兼容Android的各个版本,使得开发者能够轻松实现各种自定义的下拉刷新效果。 首先,我们来看下如何将该框架导入到Android ...

    Android代码-android-drag-square

    android-drag-square edit personal data which enables users to drag and rank image order 编辑个人资料,图片可拖拽排序。有点像可拖拽的gridView,但是会更流畅。这个demo是探探的个人资料编辑页面,受网上一位...

    android格子视图--GridView

    在Android开发中,GridView是一种非常常用的布局控件,它允许我们以网格的形式展示数据,类似于Windows操作系统的资源管理器或手机应用商店中的应用列表。在本篇内容中,我们将深入探讨GridView的基本概念、使用方法...

Global site tag (gtag.js) - Google Analytics