Android listView 繪制表格實(shí)例詳解
Android listView 繪制表格
效果圖:

二,創(chuàng)建步驟:
1,創(chuàng)建布局:
activity_main中的布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_margin="3dip"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<View
android:layout_width="match_parent"
android:layout_height="1dip"
android:background="#A7A5A5"/>
<!--調(diào)用外部控件的布局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>
</LinearLayout>
2,創(chuàng)建list_item布局:
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<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="序號(hào)" />
<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="數(shù)量" />
<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="現(xiàn)價(jià)" />
<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="金額" />
</LinearLayout>
3,適配器中內(nèi)容:
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中內(nèi)容:
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);
//設(shè)置表格標(biāo)題的背景顏色
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", "農(nóng)夫山泉", "12",34,23,23));
list.add(new Goods("04", "飛天茅臺(tái)0", "12333435445",34,23,23));
list.add(new Goods("05", "農(nóng)家小菜", "34523",34,23,23));
list.add(new Goods("06", "飛天消費(fèi)菜", "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", "達(dá)利園超時(shí)牛奶", "3234345",34,23,23));
ListView tableListView = (ListView) findViewById(R.id.list);
TableAdapter adapter = new TableAdapter(this, list);
tableListView.setAdapter(adapter);
}
}
5,實(shí)體類:
商品信息內(nèi)容:
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地址:http://xiazai.jb51.net/201701/yuanma/ListViewTable-master(jb51.net).rar
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- Android使用GridView實(shí)現(xiàn)表格分割線效果
- Android自定義View實(shí)現(xiàn)課程表表格
- Android自定義View實(shí)現(xiàn)仿GitHub的提交活躍表格
- Android自定義DataGridView數(shù)據(jù)表格控件
- Android應(yīng)用中通過(guò)Layout_weight屬性用ListView實(shí)現(xiàn)表格
- Android中使用ListView實(shí)現(xiàn)漂亮的表格效果
- Android提高之ListView實(shí)現(xiàn)自適應(yīng)表格的方法
- Android中使用ListView繪制自定義表格技巧分享
- android表格效果之ListView隔行變色實(shí)現(xiàn)代碼
- Android自定義view繪制表格的方法
相關(guān)文章
Android apk完整性檢測(cè)的實(shí)現(xiàn)思路和代碼實(shí)現(xiàn)
這篇文章主要介紹了Android apk完整性檢測(cè)的實(shí)現(xiàn)思路和代碼實(shí)現(xiàn),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-12-12
Android Studio和阿里云數(shù)據(jù)庫(kù)實(shí)現(xiàn)一個(gè)遠(yuǎn)程聊天程序
本文主要介紹了Android Studio和阿里云數(shù)據(jù)庫(kù)實(shí)現(xiàn)一個(gè)遠(yuǎn)程聊天程序,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11
Android項(xiàng)目實(shí)戰(zhàn)之Glide 高斯模糊效果的實(shí)例代碼
這篇文章主要介紹了Android項(xiàng)目實(shí)戰(zhàn)之Glide 高斯模糊效果的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06
Android 快速實(shí)現(xiàn)狀態(tài)欄透明樣式的示例代碼
下面小編就為大家分享一篇Android 快速實(shí)現(xiàn)狀態(tài)欄透明樣式的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01
Android使用OkHttp請(qǐng)求自簽名的https網(wǎng)站的示例
本篇文章主要介紹了Android使用OkHttp請(qǐng)求自簽名的https網(wǎng)站的示例,非常具有實(shí)用價(jià)值,需要的朋友可以參考下、2017-09-09
Android Studio報(bào):“Attribute application@theme or @ icon ”問(wèn)題的解
這篇文章主要給大家介紹了關(guān)于Android Studio報(bào):“Attribute application@theme or @ icon ”問(wèn)題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12
android MediaRecorder實(shí)現(xiàn)錄屏?xí)r帶錄音功能
這篇文章主要介紹了android MediaRecorder錄屏?xí)r帶錄音功能實(shí)現(xiàn)代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04

