Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

zqHero/ListViewTable

Repository files navigation

Android中使用listView绘制表格实例:

一.效果图:

这里写图片描述

二,创建步骤:

1,创建布局: activity_main中的布局:

 <View 
 android:layout_width="match_parent"
 android:layout_height="1dip"
 android:background="#A7A5A5"/>
<!--调用外部控件的布局list_item布局。--!>
<include 
 layout="@layout/list_item"
 android:id="@+id/table_title"/>
<View 
 android:layout_width="match_parent"
 android:layout_height="1.5dip"
 android:background="#686867"/>
<ListView
 android:id="@+id/list"
 android:divider="#B4B3B3"
 android:dividerHeight="1.0dip"
 android:scrollbars="none"
 android:background="@drawable/listview_bg"
 android:cacheColorHint="@android:color/transparent"
 android:fadingEdge="none"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content" >
</ListView>

2,创建list_item布局:

<TextView
 android:id="@+id/text_id"
 android:layout_width="0dip"
 android:layout_height="wrap_content"
 android:layout_weight="1"
 android:gravity="center"
 android:paddingBottom="10dip"
 android:paddingTop="10dip"
 android:textColor="#000000"
 android:textSize="15sp"
 android:singleLine="true"
 android:text="序号" />
<View 
 android:layout_width="1.5dip"
 android:layout_height="fill_parent"
 android:background="#B4B3B3"/>
<TextView
 android:id="@+id/text_goods_name"
 android:layout_width="0dip"
 android:layout_height="wrap_content"
 android:layout_weight="3"
 android:paddingBottom="10dip"
 android:paddingTop="10dip"
 android:textColor="#000000"
 android:textSize="15sp"
 android:singleLine="true"
 android:gravity="center"
 android:text="商品名称" />
 <View 
 android:layout_width="1.5dip"
 android:layout_height="fill_parent"
 android:background="#B4B3B3"/>
 <TextView
 android:id="@+id/text_codeBar"
 android:layout_width="0dip"
 android:layout_height="wrap_content"
 android:layout_weight="2"
 android:paddingBottom="10dip"
 android:textColor="#000000"
 android:paddingTop="10dip"
 android:singleLine="true"
 android:textSize="15sp"
 android:gravity="center"
 android:text="条形码" />
 
 <View 
 android:layout_width="1.5dip"
 android:layout_height="fill_parent"
 android:background="#B4B3B3"/>
 <TextView
 android:id="@+id/text_num"
 android:layout_width="0dip"
 android:layout_height="wrap_content"
 android:layout_weight="1"
 android:paddingBottom="10dip"
 android:paddingTop="10dip"
 android:textColor="#000000"
 android:singleLine="true"
 android:textSize="15sp"
 android:gravity="center"
 android:text="数量" />
 
 <View 
 android:layout_width="1.5dip"
 android:layout_height="fill_parent"
 android:background="#B4B3B3"/>
 <TextView
 android:id="@+id/text_curPrice"
 android:layout_width="0dip"
 android:layout_height="wrap_content"
 android:layout_weight="1.5"
 android:paddingBottom="10dip"
 android:textColor="#000000"
 android:textSize="15sp"
 android:singleLine="true"
 android:paddingTop="10dip"
 android:gravity="center"
 android:text="现价" />
 
 <View 
 android:layout_width="1.5dip"
 android:layout_height="fill_parent"
 android:background="#B4B3B3"/>
 <TextView
 android:id="@+id/text_money"
 android:layout_width="0dip"
 android:layout_height="wrap_content"
 android:layout_weight="1.5"
 android:paddingBottom="10dip"
 android:singleLine="true"
 android:textSize="15sp"
 android:textColor="#000000"
 android:paddingTop="10dip"
 android:gravity="center"
 android:text="金额" />

3,适配器中内容: TableAdapter: package com.example.listviewtable;

import java.util.List;

import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView;

public class TableAdapter extends BaseAdapter {

private List<Goods> list;
private LayoutInflater inflater;
public TableAdapter(Context context, List<Goods> list){
	this.list = list;
	inflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
	int ret = 0;
	if(list!=null){
		ret = list.size();
	}
	return ret;
}
@Override
public Object getItem(int position) {
	return list.get(position);
}
@Override
public long getItemId(int position) {
	return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
	
	Goods goods = (Goods) this.getItem(position);
	
	ViewHolder viewHolder;
	
	if(convertView == null){
		
		viewHolder = new ViewHolder();
		
		convertView = inflater.inflate(R.layout.list_item, null);
		viewHolder.goodId = (TextView) convertView.findViewById(R.id.text_id);
		viewHolder.goodName = (TextView) convertView.findViewById(R.id.text_goods_name);
		viewHolder.goodCodeBar = (TextView) convertView.findViewById(R.id.text_codeBar);
		viewHolder.goodNum = (TextView) convertView.findViewById(R.id.text_num);
		viewHolder.goodCurrPrice = (TextView) convertView.findViewById(R.id.text_curPrice);
		viewHolder.goodMoney = (TextView) convertView.findViewById(R.id.text_money);
		
		convertView.setTag(viewHolder);
	}else{
		viewHolder = (ViewHolder) convertView.getTag();
	}
	
	viewHolder.goodId.setText(goods.getId());
	viewHolder.goodId.setTextSize(13);
	viewHolder.goodName.setText(goods.getGoodsName());
	viewHolder.goodName.setTextSize(13);
	viewHolder.goodCodeBar.setText(goods.getCodeBar());
	viewHolder.goodCodeBar.setTextSize(13);
	viewHolder.goodNum.setText(goods.getNum()+"");
	viewHolder.goodNum.setTextSize(13);
	viewHolder.goodCurrPrice.setText(goods.getCurPrice()+"");
	viewHolder.goodCurrPrice.setTextSize(13);
	viewHolder.goodMoney.setText(goods.getMoney()+"");
	viewHolder.goodMoney.setTextSize(13);
	
	return convertView;
}
public static class ViewHolder{
	public TextView goodId;
	public TextView goodName;
	public TextView goodCodeBar;
	public TextView goodNum;
	public TextView goodCurrPrice;
	public TextView goodMoney;
}

}

4,Activity中内容: package com.example.listviewtable;

import java.util.ArrayList; import java.util.List;

import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.view.ViewGroup; import android.widget.ListView;

public class ListTableActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.activity_main);
	
	//设置表格标题的背景颜色
	ViewGroup tableTitle = (ViewGroup) findViewById(R.id.table_title);
	tableTitle.setBackgroundColor(Color.rgb(177, 173, 172));
	
	List<Goods> list = new ArrayList<Goods>();
	list.add(new Goods("01", "伊利婴儿加盖奶粉110ml", "982323423232",34,23,23));
	list.add(new Goods("02", "鱼翅", "31312323223",34,23,23));
	list.add(new Goods("03", "农夫山泉", "12",34,23,23));
	list.add(new Goods("04", "飞天茅台0", "12333435445",34,23,23));
	list.add(new Goods("05", "农家小菜", "34523",34,23,23));
	list.add(new Goods("06", "飞天消费菜", "345456",34,23,23));
	list.add(new Goods("07", "旺仔小牛奶", "2344",34,23,23));
	list.add(new Goods("08", "旺旺", "23445",34,23,23));
	list.add(new Goods("09", "达利园超时牛奶", "3234345",34,23,23));
	
	ListView tableListView = (ListView) findViewById(R.id.list);
	
	TableAdapter adapter = new TableAdapter(this, list);
	
	tableListView.setAdapter(adapter);
}

}

5,实体类: 商品信息内容: package com.example.listviewtable;

public class Goods { private String id; private String goodsName; private String codeBar; private float num; private float curPrice; private float money;

public Goods() {
	super();
}
public Goods(String id, String goodsName, String codeBar, float num,
		float curPrice, float money) {
	super();
	this.id = id;
	this.goodsName = goodsName;
	this.codeBar = codeBar;
	this.num = num;
	this.curPrice = curPrice;
	this.money = money;
}
public String getId() {
	return id;
}
public void setId(String id) {
	this.id = id;
}
public String getGoodsName() {
	return goodsName;
}
public void setGoodsName(String goodsName) {
	this.goodsName = goodsName;
}
public String getCodeBar() {
	return codeBar;
}
public void setCodeBar(String codeBar) {
	this.codeBar = codeBar;
}
public float getNum() {
	return num;
}
public void setNum(float num) {
	this.num = num;
}
public float getCurPrice() {
	return curPrice;
}
public void setCurPrice(float curPrice) {
	this.curPrice = curPrice;
}
public float getMoney() {
	return money;
}
public void setMoney(float money) {
	this.money = money;
}

}

DEMO地址:https://github.com/zqHero/ListViewTable

About

使用listView创建表格样式的图标

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /