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

GridView 网格布局 使用

阅读更多

GridView

 

[功能]

以前提及过GridView 说也是一种AdapterView 和ListView有点像 今天花了时间 用了一些 有点心得 和大家分享分享

 

 

[思路]

1. 既然和ListView像 那么应该还是通过 setAdapter() 来设置吧

2. 因为我想显示的是一些图片信息 必须用到ImageView 不是默认的Adapter用到的TextView 所以只能自己扩展了

 

 

[代码]

1. 定义包含GridView 的 main.xmk

<?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/gride"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:numColumns="3"
    android:verticalSpacing="5dip"
    />
</LinearLayout>

 

这行应该注意一下:

android:numColumns="3"

 

用来设定GridView每行显示的View数目 如果没有这行 会默认每行显示一个View 和ListView 的一样

 

 

2. 自定义 class ImageList extends BaseAdapter 其中主要是:

写道
View getView(int position, View convertView, ViewGroup parent)

 

用于显示目标ImageView

 

public class ImageList extends BaseAdapter {
    	Activity activity;
    	
    	//construct
    	public ImageList(Activity a ) {
    		activity = a;
    	}
    	
		@Override
		public int getCount() {
			// TODO Auto-generated method stub
			return image.length;
		}

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

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

		@Override
		public View getView(int position, View convertView, ViewGroup parent) {
			// TODO Auto-generated method stub
			ImageView iv = new ImageView(activity);
			iv.setImageResource(image[position]);
			return iv;
		}
    }

 

 

3. 给GridView指定Adapter

GridView gv = (GridView) findViewById(R.id.gride);
        
        ImageList adapter = new ImageList(this);
        	
        gv.setAdapter(adapter);

 

 

 

所以最后效果图是这样的 网格布局

分享到:
评论
12 楼 825799700 2012-05-30  
谢谢分享。。。
11 楼 ableouou 2010-09-07  
mGridView.setOnItemClickListener(new OnItemClickListener(){

  @Override
  public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {}
}
10 楼 mini_dev 2010-08-12  
如果想拖动gridview里面的imageview交换位置怎样实现呢?
9 楼 houxm 2010-08-10  
请问一下,如果我想在gridview中的每个图片上实现onClick事件,还有不知道有没有onMouseOver事件。该怎样实现?或者用别的方法怎么实现这个功能呢?
请原谅我在这挖坟了
多谢!
8 楼 gryphone 2010-04-11  
kusoft 写道
请问。显示GridView网格显示边框

就像一个DataGrid,有header

 

 




<table class="quote_title" style="width: 439px; height: 64px; border: #e7b917 1px solid;" border="1" width="439" frame="rows"><tbody>
<tr>
<td>Username</td>
<td>Old</td>
<td>Sex</td>
</tr>
<tr>
<td>a</td>
<td>23</td>
<td>Boy</td>
</tr>
<tr>
<td>b</td>
<td>24</td>
<td>Gril</td>
</tr>
</tbody></table>
 

如何使用GridView实现,比较急?

1.当然可以 GridView 只是一种AdapterVire
2. 何谓AdapterVire ,参考ListView ,通俗说法:适配器 能接受不固定数据 然后通过之显示
3. 如何实现: 先定义BaseAdapter 然后通过setAdapter()使用之
7 楼 kusoft 2010-04-11  
<p>请问。显示GridView网格显示边框</p>
<p>就像一个DataGrid,有header</p>
<p> </p>
<p> </p>
<p>
</p>
<table class="quote_title" style="width: 439px; height: 64px; border: #e7b917 1px solid;" border="1" width="439" frame="rows"><tbody>
<tr>
<td>Username</td>
<td>Old</td>
<td>Sex</td>
</tr>
<tr>
<td>a</td>
<td>23</td>
<td>Boy</td>
</tr>
<tr>
<td>b</td>
<td>24</td>
<td>Gril</td>
</tr>
</tbody></table>
<p> </p>
<p>如何使用GridView实现,比较急?</p>
6 楼 gryphone 2010-02-10  
稻-草 写道
滚动条的出现和隐藏是一会事, 滚动条出现后 滚动条的位置是另一回事。

我是想让程序记住滚动条的位置,免得用户每次都要拖滚动条。

你是想让程序记得上次选中的item
下次再打开 直接到目标 是吗?
如果是 那不如这样做 或许会简单一点
1. GridView.setSelection(int position) 每次新打开GridView 调用之
2. SharePerference 保存最后的item position

如果不是 就不知道了 因为几乎没人会关心这个吧!
5 楼 稻-草 2010-02-10  
滚动条的出现和隐藏是一会事, 滚动条出现后 滚动条的位置是另一回事。

我是想让程序记住滚动条的位置,免得用户每次都要拖滚动条。
4 楼 gryphone 2010-02-10  
稻-草 写道
最近使用gridview,想在代码中控制y轴的滚动条位置,gryphone知不知怎么实现?

不太懂你的意思 你要控制滚动条干嘛? 如果GridView包含的View 太多的话 滚动条会自动出现 否则 会隐藏的
3 楼 稻-草 2010-02-09  
最近使用gridview,想在代码中控制y轴的滚动条位置,gryphone知不知怎么实现?
2 楼 qingsong 2010-01-20  
学习了,参考一下
1 楼 kitcheng 2010-01-15  
谢谢LZ的分享!

相关推荐

    GridView配合Volley来加载网络图片

    通过这种方式,我们能实现一个高效的网络图片加载系统,既能充分利用Volley的性能优势,又能利用GridView的网格布局特性,为用户提供良好的视觉效果。不过,需要注意的是,随着加载图片数量的增加,可能会对内存造成...

    Flutter GridView网格布局

    GridView 是一个网格布局的列组件。GridView 继承至 CustomScrollView,有 CustomScrollView 的特性。

    【Flutter】GridView 网格布局.zip

    【Flutter】GridView 网格布局 ( GridView.count 构造函数 | crossAxisCount 参数指定每行元素个数 ) https://hanshuliang.blog.csdn.net/article/details/119940970 博客源码快照

    Android高仿支付宝gridview网格布局

    以上就是实现“Android高仿支付宝gridview网格布局”的关键步骤和技术点。在实际开发中,你可能还需要根据具体需求进行调整和优化,确保布局既美观又高效。通过不断实践和学习,你可以创造出更具特色的网格布局,...

    Android App中的GridView网格布局使用指南

    GridView是Android平台中用于展示数据的一种布局方式,它呈现的是一个二维网格视图,通常用于创建类似九宫格的效果。GridView允许用户在水平方向上滚动,同时也可以在垂直方向上滚动,非常适合用来展示一系列相似的...

    android ListView 网格布局

    要实现网格布局,我们需要使用GridView或者结合使用ListView和GridLayout。由于标题提到的是“ListView的网格视图”,我们将主要讨论使用GridView的情况。GridView是一个二维的列表视图,可以设置每行的列数,从而...

    Android应用开发中使用GridView网格布局的代码示例

    在Android应用开发中,GridView是一种常用的布局方式,它允许开发者以网格的形式展示数据,通常用于创建像图片库、菜单选项等界面。相比TableLayout,GridView更具有灵活性,因为它可以自动调整列数以适应屏幕大小,...

    iOS GridView 网格视图

    在iOS中,我们可以利用UIView作为基本单元格,通过调整其frame和约束来实现网格布局。为了适应不同数量的数据,我们可以通过计算总数据量和期望的列数来动态调整行数。 实现iOS GridView的过程大致分为以下几步: ...

    安卓GridView布局控件

    综上所述,Android的GridView布局控件是一个强大的工具,通过合理的配置和适配器的使用,可以创建出丰富多彩的网格视图。在实际开发中,我们需要根据具体需求进行优化,确保良好的用户体验和性能表现。

    安卓开发入门基础之gridview网格布局+webview

    本篇将主要介绍如何在安卓应用中使用`GridView`实现网格布局以及结合`WebView`进行网页展示。首先,我们来看一下`GridView`的基本概念。 `GridView`是Android SDK提供的一种控件,它允许你将数据以网格的形式展示...

    RecyclerView 实现网格布局并实现单选功能

    本教程将深入讲解如何使用`RecyclerView`实现网格布局,并实现单选功能。 首先,我们来理解`RecyclerView`的基本架构。`RecyclerView`包含`LayoutManager`、`Adapter`和`ViewHolder`三个核心组件。`LayoutManager`...

    Android网格布局GridView学习使用

    这里就可以使用GridView,android中的网格布局来实现了。 GridView控件用于把一系列的控件组织成二维网格的形式显示出来,应用较多的也就是图片的组合显示了。关于GridView的使用直接看例子程序。 先看效果图: ...

    可拖动排序的GridView网格布局

    源码DynamicGrid,可拖动排序的GridView,长按GridView的item即可进入可拖动状态,此时GridView的item产生类似于ios的卸载程序时的抖动效果,拖动任意item可以随意重新排列item的位置。效果非常棒!

    RecyclerView GridView 矩形自适应

    GridView虽然也能显示不同尺寸的item,但它默认是等间距的网格布局,对自定义布局支持不够灵活。而RecyclerView则提供了更多的自定义空间,能够更好地满足复杂界面的需求。 在实际项目中,我们可能还需要考虑性能...

    GridView平均分配布局

    GridView是Android开发中常见的一种控件,用于展示数据集,如图片、文字等,并以网格的形式进行排列。在Android应用开发中,GridView常用于创建类似相册或菜单的界面,用户可以通过横向滑动来查看更多的内容。这个...

    使用GridView合理布局数据源源码

    今天我们再学习另外一种合理绑定数据源的前端显示方式——网格,不少客户端在展示产品时会使用网格来显示,另外我们Launcher显示应用时同样使用的是网格GridView。文章见www.ourunix.org/android/post/123.html

    用gridview实现九宫格布局及分页

    在Android开发中,GridView是一种非常常用的控件,它允许我们以网格的形式展示数据,通常用于创建类似九宫格的布局。本篇文章将详细介绍如何利用GridView实现九宫格布局以及添加分页功能。 首先,理解GridView的...

    listview gridview adapter的使用

    使用SimpleAdapter实现GridView,我们可以创建一个包含多列的布局,并在数据列表中添加足够的数据以填充网格。例如: ```java List, String&gt;&gt; gridViewData = new ArrayList(); // 添加数据到gridViewData ...

Global site tag (gtag.js) - Google Analytics