`
dyingbleed
  • 浏览: 117255 次
  • 性别: Icon_minigender_1
  • 来自: 东莞
社区版块
存档分类
最新评论

【Android】GridView添加网格线

 
阅读更多

GridView网格布局,默认情况下是没有网格线的

查找网上资料,找到了一种为GridView添加网格线的小技巧

 

实际上,该网格线是通过设置GridView各子项的间隔,并分别设置GridView背景色与子项背景色实现的。

 

实现方法

 

  1. 设置GridView背景色,设置水平间方向间隔属性值android:horizontalSpacing和竖直方向间隔属性值android:verticalSpacing
  2. 设置GridView子项背景色
示例代码:
main.xml
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/main_GridView"
    android:horizontalSpacing="1dp"
    android:verticalSpacing="1dp"
    android:stretchMode="columnWidth"
    android:numColumns="3"
    android:gravity="center"
    android:listSelector="@null"
    android:background="#DCDCDC"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

</GridView>
Main.java
package dyingbleed.iteye;

import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.AbsListView;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.TextView;

public class Main extends Activity {
	
	private GridView grid;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        grid = (GridView) findViewById(R.id.main_GridView);
        grid.setAdapter(new GridViewAdapter(this));
    }
    
    private class GridViewAdapter extends BaseAdapter {
    	
    	private Context context;
    	
    	public GridViewAdapter(Context context) {
    		this.context = context;
    	}
    	
    	int count = 100;

		@Override
		public int getCount() {
			return count;
		}

		@Override
		public Object getItem(int position) {
			return position;
		}

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

		@Override
		public View getView(int position, View convertView, ViewGroup parent) {
			TextView result = new TextView(context);
			result.setText("Item "+position);
			result.setTextColor(Color.BLACK);
			result.setTextSize(24);
			result.setLayoutParams(new AbsListView.LayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)));
			result.setGravity(Gravity.CENTER);
			result.setBackgroundColor(Color.WHITE); //设置背景颜色
			return result;
		}
    	
    }
}
  
运行截图:
  • 大小: 44.7 KB
分享到:
评论
1 楼 hualang 2012-10-17  
不错,不过有个问题:设置后各个Item无法点击,还要设置clickable属性并且设置相应的selector才能使用,这样有些麻烦

相关推荐

    Android GridView不改变背景色实现网格线效果

    在某些设计需求中,我们可能需要在不改变GridView整体背景色的前提下,为GridView添加网格线效果,以清晰地划分各个单元格。这篇文章将详细介绍如何在不改动背景色的情况下实现这一效果。 首先,我们需要理解常规的...

    android gridview分页和滑动效果

    在Android开发中,GridView是一种非常常见的布局控件,它允许我们以网格的形式展示数据,通常用于创建类似相册、应用列表等场景。本教程将详细讲解如何实现GridView的分页和滑动效果。 首先,我们需要了解GridView...

    Android GridView分组带下拉刷新

    在Android开发中,GridView是一种常用的布局控件,它允许我们以网格形式展示数据,通常用于创建类似相册或应用列表的界面。在这个“Android GridView分组带下拉刷新”的主题中,我们将深入探讨如何实现一个功能丰富...

    Android仿支付宝首页GridView的网格效果-不能够换位置

    这一次给大家带来的依旧是最简单的页面效果图--Android仿支付宝首页GridView的网格效果-不能够换位置 原理也很简单,就是gridview有一个背景颜色,也就是你所看见的分割线的颜色,然后还有一个就是每一个子布局的...

    Android中控件GridView实现设置行列分割线的方法示例

    然而,为了使界面更加清晰,我们常常需要为GridView添加行列分割线,使得每个单元格之间有明显的边界。本文将详细介绍如何在Android中通过两种方法实现GridView的行列分割线。 ### 方法一:设置垂直、横向间距和...

    Android GridView学习实例

    在Android开发中,GridView是一种非常常用的布局控件,它允许我们以网格的形式展示数据,通常用于创建类似照片墙、应用图标列表等界面。本篇内容将深入探讨Android GridView的学习实例,帮助开发者更好地理解和运用...

    Android中GridView点击右上角的叉号删除条目,贝塞尔曲线实现进度条

    在Android开发中,GridView是一种常用的布局控件,它允许我们以网格的形式展示数据。这个项目的重点在于两个功能:一是实现在GridView中点击右上角的叉号删除条目,二是利用贝塞尔曲线来创建动态的进度条效果。 ...

    android漂亮的gridview美化样式

    同时,考虑使用`android:divider`属性来定义网格之间的分隔线。 4. **图片加载库**:对于显示大量图片的情况,使用像Glide或Picasso这样的图片加载库可以优化性能,防止内存泄漏,并支持图片的缩放和裁剪,以适应...

    androidGridView拖动

    总的来说,实现“androidGridView拖动”涉及到以下步骤: 1. 创建适配器并填充数据。 2. 重写GridView的onTouchEvent()方法,监听并处理触摸事件。 3. 实现临时视图的创建和移动,模拟拖动效果。 4. 在数据源中交换...

    android GridView

    在Android开发中,GridView是一种非常常用的布局控件,它允许我们以网格的形式展示数据,通常用于创建类似照片墙、应用列表等界面。本资源提供的内容是关于`android GridView`的实际运用,确保所有示例都能正常运行...

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

    关于添加网格线,GridView默认情况下并不会显示网格线。为了添加网格线,我们可以采用以下两种方法: 1. **使用分割线(Divider)**: 在GridView的XML布局中,可以通过设置`android:divider`和`android:...

    GridView异步加载实例

    在Android开发中,GridView是一种常见的布局控件,用于展示数据集,通常用于创建网格视图。GridView通过适配器(Adapter)与数据源关联,显示数据列表。然而,当数据量大时,一次性加载所有数据可能导致内存压力增大...

    Android网格视图GridView的使用

    在Android开发中,GridView是一个非常实用的控件,它能够以网格的形式展示数据,通常用于显示多行多列的内容,例如图片、应用图标等。在本文中,我们将深入探讨GridView的使用方法及其主要属性。 首先, GridView的...

    Android中RecyclerView布局代替GridView实现类似支付宝的界面

    在GridView中,通常需要通过设置`android:horizontalSpacing`和`android:verticalSpacing`属性来创建间隔,或者利用背景色差作为分割线。这种方法虽然简单,但有时会因为背景色的问题导致视觉效果不理想。为了解决这...

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

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

    用RecyclerView实现listView、GridView,以及瀑布流

    // 添加分割线等装饰 ``` 二、实现ListView和GridView RecyclerView通过更换LayoutManager可以轻松实现ListView和GridView的效果。 1. ListView效果 使用LinearLayoutManager,设置orientation为VERTICAL即可实现...

    安卓gridview相关相关-支付宝钱包首页中带有分割线的GridView.rar

    - 为GridView添加分割线,通常有以下几种方式: - 使用divider属性:在XML布局文件中,设置android:divider属性为一个颜色值或者引用一个drawable资源,如线性渐变等。 - 自定义分割线:创建一个新的View作为分割...

Global site tag (gtag.js) - Google Analytics