List表格
线上效果图:
[img]
[/img]
工程结构图:
[img]
[/img]
布局文件:
list_header.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="30dip" > <TableLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:stretchColumns="5" > <TableRow android:id="@+id/list_header_row" ><!-- 小竖线 --> <View style="@style/list_item_cell_seperator_layout" /> <TextView android:id="@+id/list_header_gyh" android:layout_width="80dip" android:layout_height="wrap_content" android:layout_gravity="center" android:textColor="@color/color_black" android:padding="2dip" android:text="钢印号" /> <!-- 小竖线 --> <View style="@style/list_item_cell_seperator_layout" /> <TextView android:id="@+id/list_header_hm" android:layout_width="80dip" android:layout_height="wrap_content" android:layout_gravity="center" android:textColor="@color/color_black" android:padding="2dip" android:text="户名" /> <!-- 小竖线 --> <View style="@style/list_item_cell_seperator_layout" /> <TextView android:id="@+id/list_header_wz" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:textColor="@color/color_black" android:padding="2dip" android:text="位置" /><!-- 小竖线 --> <View style="@style/list_item_cell_seperator_layout" /> </TableRow> </TableLayout></LinearLayout>
list_items.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="wrap_content" > <TableLayout android:id="@+id/stock_list_item_table_layout" android:layout_width="fill_parent" android:layout_height="wrap_content" android:stretchColumns="5" > <TableRow android:id="@+id/stock_list_row" > <View style="@style/list_item_cell_seperator_layout" /> <TextView android:id="@+id/item_tv_gyh" android:layout_width="80dip" android:layout_height="wrap_content" android:text="TextView" /> <View style="@style/list_item_cell_seperator_layout" /> <TextView android:layout_height="wrap_content" android:layout_gravity="center" android:id="@+id/item_tv_hm" android:layout_width="80dip" android:text="TextView" /> <View style="@style/list_item_cell_seperator_layout" /> <TextView android:layout_width="160dip" android:layout_height="wrap_content" android:id="@+id/item_tv_wz" android:text="TextView" /> <View style="@style/list_item_cell_seperator_layout" /> </TableRow> </TableLayout></LinearLayout>
notwriteinfo.xml
<?xml version="1.0" encoding="utf-8"?><!-- 未抄表数据信息 --><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/linearLayout1"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical"style="@style/bgColor"><!-- 屏幕宽度的横线 --><View style="@style/list_item_seperator_layout" /> <!-- 添加表头 --><include layout="@layout/list_header"/><!-- 屏幕宽度的横线 --> <View style="@style/list_item_seperator_layout" /> <ListViewandroid:id="@+id/notwriteinfo_lv_info"android:layout_width="fill_parent"android:layout_height="wrap_content"android:scrollingCache="true" android:fastScrollEnabled="true" android:focusable="true"android:divider="@color/color_dark_grey" android:dividerHeight="1dip" /><!-- 屏幕宽度的横线 --><View style="@style/list_item_seperator_layout" /></LinearLayout>
color.xml
<?xml version="1.0" encoding="utf-8"?><resources> <color name="color_dark_grey">#808080</color> <color name="color_black">#000000</color> <color name="color_green">#00FF00</color> <color name="color_red">#FF0000</color> <color name="color_white">#FFFFFF</color> </resources>
style.xml
<?xml version="1.0" encoding="utf-8"?><resources> <!-- 正文区背景色--> <style name="bgColor" > <item name="android:background">#ffffff</item> </style> <style name="StyContent"> <item name="android:textSize">18px</item> <item name="android:textColor">#000000</item> </style> <style name="StyTitle"> <item name="android:textSize">24dip</item> <item name="android:textColor">#000000</item> </style> <style name="StyButton"> <item name="android:textSize">24dip</item> <item name="android:textColor">#303030</item> </style> <!-- Define the list items style begin --> <style name="list_item_seperator_layout"> <item name="android:layout_width">fill_parent</item> <item name="android:layout_height">1dip</item> <item name="android:background">@color/color_dark_grey</item> </style> <style name="list_item_cell_seperator_layout"> <item name="android:layout_width">1dip</item> <item name="android:layout_height">40dip</item> <item name="android:background">@color/color_dark_grey</item> </style> <!-- Define the list items style end --> </resources>
MainActivity
package com.zzl.test;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.content.Context;import android.graphics.Color;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ListView;import android.widget.TextView;public class MainActivity extends Activity { List<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.notwriteinfo); insertInfo(); //取得ListView对象 ListView listview = (ListView) findViewById(R.id.notwriteinfo_lv_info); //给Listview添加元素 listview.setAdapter(new MyAdapter(getApplicationContext(),list)); //设置Listview滑动时背景不变黑 listview.setCacheColorHint(Color.TRANSPARENT); } //模拟添加数据 public void insertInfo(){ for(int i=0;i<20;i++){ HashMap<String, String> map = new HashMap<String,String>(); map.put("number", "888888"); map.put("name", "爆菊王"); map.put("address", "中国河北衡水桃城"); list.add(map); } } /** * @author lyd */ public class MyAdapter extends BaseAdapter { private LayoutInflater mInflater; //数据 private List<HashMap<String,String>> list = null; /* 构造函数 */ public MyAdapter(Context context,List<HashMap<String, String>> list2){ mInflater = LayoutInflater.from(context); this.list = list2; } /* 列表项个数 */ public int getCount() { return list.size(); } /* 获得列表指定的项 */ public Object getItem(int position) { return null; } /* 获得列表指定项的Id */ public long getItemId(int position) { return 0; } /* 设置显示格式 */ public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if (convertView == null) {// 当convertView 为null的时候初始化convertView holder = new ViewHolder(); convertView = mInflater.inflate(R.layout.list_items, null); holder.gyh = (TextView) convertView.findViewById(R.id.item_tv_gyh); holder.hm = (TextView) convertView.findViewById(R.id.item_tv_hm); holder.wz = (TextView) convertView.findViewById(R.id.item_tv_wz); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.gyh.setText(list.get(position).get("number")); holder.hm.setText(list.get(position).get("name")); holder.wz.setText(list.get(position).get("address")); holder.gyh.setTextColor(Color.BLACK); holder.hm.setTextColor(Color.BLACK); holder.wz.setTextColor(Color.BLACK); return convertView; } /* 自定义实体类,属性与List项对应 */ public final class ViewHolder { private int id; public TextView gyh;// 钢印号 public TextView hm;// 户名 public TextView wz;// 位置 public TextView dj;// 电价 public int getId() { return id; } public void setId(int id) { this.id = id; } public TextView getGyh() { return gyh; } public void setGyh(TextView gyh) { this.gyh = gyh; } public TextView getHm() { return hm; } public void setHm(TextView hm) { this.hm = hm; } public TextView getWz() { return wz; } public void setWz(TextView wz) { this.wz = wz; } public TextView getDj() { return dj; } public void setDj(TextView dj) { this.dj = dj; } } } }