`
hilary3113
  • 浏览: 262495 次
  • 性别: 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  
谢谢分享学习中

相关推荐

Global site tag (gtag.js) - Google Analytics