`
hilary3113
  • 浏览: 264810 次
  • 性别: Icon_minigender_1
  • 来自: 邯郸
社区版块
存档分类
最新评论

Android Listview表格

阅读更多

<!--StartFragment -->

 在平常应用中,我们会经常用到表格,但在Adnroid中,它并没有给我们提供表格控件,所以要我们自己动手去做。我把我自己做的一样表格样式在这与大学分享,如果你想要得到更加完美的表格,那就要你自己去改过了。样式如下:
 <!--StartFragment -->
首先我们先看XML文件:
我先定义一个样表模板,让后在Java代码中调用这个模板,向模板里添加数据就可以了
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent" 
	android:scrollbarAlwaysDrawHorizontalTrack="true"
	>
	
<TableLayout android:id="@+id/table"
	android:layout_width="wrap_content"
	android:layout_height="wrap_content" >
	<TableRow>
		<View android:layout_width="1dip" android:background="#FF909090" />
		<TextView
			android:id="@+id/tv1"
			android:layout_width="85dip"
			android:gravity="center" 
			android:textSize="15px" />
		<View android:layout_width="1dip" android:background="#FF909090" />
		<TextView
			android:id="@+id/tv2"
			android:layout_width="85dip"
			android:gravity="center" 
			android:textSize="15px" />
		<View android:layout_width="1dip" android:background="#FF909090" />
		<TextView
			android:id="@+id/tv3"
			android:layout_width="85dip"
			android:gravity="center" 
			android:textSize="15px" />
		<View android:layout_width="1dip" android:background="#FF909090" />
		<TextView
			android:id="@+id/tv4"
			android:layout_width="85dip"
			android:gravity="center" 
			android:textSize="15px" />
		<View android:layout_width="1dip" android:background="#FF909090" />
		<TextView
			android:id="@+id/tv5"
			android:layout_width="85dip"
			android:gravity="center" 
			android:textSize="15px" />
		<View android:layout_width="1dip" android:background="#FF909090" />
		<TextView
			android:id="@+id/tv6"
			android:layout_width="85dip"
			android:gravity="center" 
			android:textSize="15px" />
		<View android:layout_width="1dip" android:background="#FF909090" />
	</TableRow>

</TableLayout>
</LinearLayout>
 
然后是Java代码:
首先自己定义一个Adapter,并继承SimpleAdapter,代码如下:
package com.util;

import java.util.List;
import java.util.Map;

import android.content.Context;
import android.graphics.Color;
import android.view.View;
import android.view.ViewGroup;
import android.widget.SimpleAdapter;

public class SpecialAdapter extends SimpleAdapter {
	private int[] colors = new int[]{
			0x30FF0000, 0x300000FF 
	};
	public SpecialAdapter(Context context, List<? extends Map<String, ?>> data,
			int resource, String[] from, int[] to) {
		super(context, data, resource, from, to);
		// TODO Auto-generated constructor stub
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		View view = super.getView(position, convertView, parent);
		int colorPos = position % colors.length;
		if(colorPos==1){
			view.setBackgroundColor(Color.argb(250, 255, 255, 255));
		}else{
			view.setBackgroundColor(Color.argb(250, 224, 243, 250));
		}
		return view;
	}

}
 
最后是定义主函数TableActivity,代码如下:
package com.action;

import java.util.ArrayList;
import java.util.HashMap;

import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.widget.HorizontalScrollView;
import android.widget.ListView;

import com.util.SpecialAdapter;
public class TableActivity extends Activity {
    ListView lv;
	/** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        ArrayList<HashMap<String,String>> mylist = new ArrayList<HashMap<String,String>>();
        
        for(int i=1; i<15; i++){
        	HashMap<String,String> map1 = new HashMap<String,String>();
            map1.put("Num", "123");
            map1.put("Receive", "张三");
            map1.put("PayWay", "货到付款");
            map1.put("TotalPrice", "$98.3");
            map1.put("State","已发贷");
            map1.put("Date", "2011-2-14");
            mylist.add(map1);
        }

        SpecialAdapter adapter = new SpecialAdapter(this, mylist, R.layout.main, 
        		new String[]{ "Num","Receive","Payway","TotalPrice","State","Date" }, 
        		new int[] { R.id.tv1,R.id.tv2,R.id.tv3,R.id.tv4,R.id.tv5,R.id.tv6 }
        );
        lv = new ListView(this);
        lv.setHorizontalScrollBarEnabled(true);
        lv.setAdapter(adapter);
        HorizontalScrollView hsv = new HorizontalScrollView(this);
        hsv.addView(lv);
        setContentView(hsv);
    }
}
 
 
 
分享到:
评论
1 楼 cuixuelei 2013-01-11  
谢谢分享学习中

相关推荐

    android listView表格效果图及代码

    以上就是实现Android ListView表格效果的基本步骤。实际开发中,你可能还需要处理更多细节,如列表项的点击事件、数据加载优化(ViewHolder模式)、异步加载等。通过不断实践和优化,你可以创建出更加复杂的列表视图...

    android ListView实现表格

    在Android开发中,ListView是一种常用的视图组件,用于展示大量数据列表。然而,仅使用默认的ListView并不能直接实现表格效果。本教程将详细介绍如何通过自定义ListView来实现一个功能丰富的表格,包括动态添加行列...

    listview实现表格效果,带表格线

    在Android开发中,ListView是一种常用的视图组件,用于展示可滚动的列表数据。在很多情况下,我们希望将数据以表格的形式展示,就像Excel中的单元格那样。标题“listview实现表格效果,带表格线”表明我们要讨论的是...

    android用ListView实现表格样式

    本篇将详细介绍如何在Android中利用ListView实现表格样式的界面。 首先,理解ListView的基本原理是至关重要的。ListView依赖于Adapter来提供数据,它会根据Adapter返回的数据项数量动态创建视图(View)。为了实现...

    Android使用popwindow弹窗显示listview表格

    通过以上步骤,我们就实现了在Android中使用`PopupWindow`弹出一个包含`ListView`表格的效果。实际项目中,你可能需要根据需求调整布局、数据源、适配器等细节,但基本思路就是这样。记得在你的博客或其他平台上分享...

    Android中ListView添加头部

    在Android应用开发中,ListView是一种常用的控件,用于展示大量数据列表。它的可滚动特性使得它在各种场景下都非常实用,比如展示联系人、菜单项等。然而,仅仅使用ListView来展示列表数据并不足够,很多时候我们...

    Android listView 绘制表格实例详解

    Android listView 绘制表格 效果图: 二,创建步骤: 1,创建布局: activity_main中的布局: &lt;LinearLayout xmlns:android=http://schemas.android.com/apk/res/android xmlns:tools=...

    Android中ListView实现表格效果

    本篇文章将详细讲解如何在Android中利用ListView实现表格效果。 首先,我们需要理解ListView的工作原理。ListView通过Adapter来绑定数据,Adapter是连接数据源和视图的桥梁。我们可以通过自定义Adapter来定制...

    Android中使用ListView实现表格形式的部局

    本教程将深入讲解如何在Android中使用ListView来实现表格布局,以及如何进行自定义以满足可变长度的表格布局需求,并添加简单的行组件单击事件。 首先,要实现基本的表格布局,我们需要创建一个自定义的列表项布局...

    android listview分页查询显示

    在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。分页查询是优化用户体验、减少内存消耗的有效方法,特别是当数据源庞大时。在这个"android listview分页查询显示"的Demo中,我们将深入探讨...

    Android ListView 固定列头源码

    在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。在处理表格或者有列头的数据时,我们可能需要实现类似Excel那样固定列头的功能,以便用户在滚动内容时仍能清晰地看到列名。标题"Android ...

    Android listView 绘制表格源码

    总之,要在Android的ListView中实现表格,关键在于自定义Adapter,通过`getView()`方法动态创建并设置表格布局。同时,要关注性能优化,确保应用的流畅性。结合上述知识点,你可以根据具体需求来定制自己的表格功能...

    Android ListView卡片效果

    在Android开发中,ListView是一种常用的组件,用于展示可滚动的列表数据。当开发者希望将列表项展示为具有视觉吸引力的卡片样式时,就会涉及到“Android ListView卡片效果”。这种效果不仅提升了用户界面的美观度,...

    android 使用ListView来实现表格

    当需要展示的数据具有表格形式时,尽管Android没有内置的Table控件,但我们可以巧妙地利用ListView来模拟实现表格的效果。本教程将深入探讨如何在Android中使用ListView来构建表格。 首先,我们需要了解ListView的...

    Android ListView生成表格实例

    综上所述,创建一个Android ListView表格实例涉及多个环节,包括理解ListView的工作原理、自定义Adapter、布局设计、数据绑定、性能优化以及事件处理等。开发者需要熟悉Android SDK,掌握Java编程,同时了解如何在...

    ListView 表格动态设置控件宽度 代码法

    本教程将详细介绍如何通过代码来实现ListView表格动态设置控件宽度。 首先,我们需要理解ListView的基本结构。ListView是由多个ListView项(ListView Item)组成的,每个项通常对应一个View或者一个自定义的...

    xamarin.android listview控件通过web api获取并展示数据

    在Xamarin.Android开发中,ListView控件是一种常用的数据展示组件,它可以用来显示一系列可滚动的项目,非常适合于数据显示。本教程将深入探讨如何利用ListView结合Web API来动态获取并展示数据。 首先,我们需要...

    ListView表格带标题

    这个"ListView表格带标题"的例子,旨在教你如何在ListView中添加标题,使其更具可读性和用户友好性。 首先,我们需要理解ListView的基本结构。ListView由一系列的View(列表项)组成,每个View称为一个AdapterItem...

    Android中使用ListView绘制自定义表格技巧分享

    总结起来,实现Android中ListView绘制自定义表格的关键点包括: 1. 自定义适配器,根据数据源动态生成列数。 2. 存储额外信息,如列合并和单元格类型,以便在`getView()`中处理。 3. 使用convertView机制优化性能,...

Global site tag (gtag.js) - Google Analytics