1.設置表格的背景顏色(線條顏色)。
2.為表格設置內邊距(線條寬度的壹半)。
3.設置每個項目的內邊距(線條寬度的壹半)
3.為項目內容設置背景顏色(顏色不同於線條)。
顯示內容如下所示:
第二,數據的動態加載使用Adapter類,方便布局加載。
自定義TableLayout加載的主要方法:
public void setAdapter(base adapter base adapter,int列){
if(base adapter = = null | | base adapter . get count()= = 0){
返回;
}
this . ma dapter = base adapter;
this.column =列;
draw layout();
}
私有void drawLayout() {
remove all views();
int real count = ma dapter . get count();
int count = 0;
if(real count & lt;列){
count =列;
} else if (realcount % column!= 0) {
count = real count+column-(real count % column);
}否則{
count = realcount
}
TableRow tableRow = null//每行的TableRow
for(int I = 0;我& lt數數;i++) {
final int index = I;
View view = null
if(index & gt;= realcount) {
view = ma dapter . getview((real count-1),null,null);
view.setVisibility(視圖。隱形);
}否則{
view = mAdapter.getView(index,null,null);
}
If (index% column == 0) {//整行
tableRow = new tableRow(m context);
}
if (tableRow!= null) {//添加每壹項。
tableRow.addView(視圖);
}
If (index% column == 0) {//整行
addView(tableRow,new TableLayout。布局參數(
LayoutParams。MATCH_PARENT,LayoutParams。WRAP _ CONTENT));
}
}
}
第三,ListView的使用方式基本相同。
公共類MainActivity擴展Activity {
個人分發名單& lt地圖& lt字符串,對象& gt& gt數據表;
private table borderlayout layTable;
private string[]data = new string[]{“瘋狂”、“個性”、“張揚”、“蓬勃”、“加油”、“奮鬥”,
“努力”、“精神”};
@覆蓋
受保護的void onCreate(Bundle saved instancestate){
super . oncreate(savedInstanceState);
setContentView(r . layout . activity _ main);
init views();
load datas();
}
私有void initViews() {
lay table =(TableBorderLayout)findViewById(r . id . lay table);
}
私有void loadDatas() {
dataList = new ArrayList & lt地圖& lt字符串,對象& gt& gt();
地圖& lt字符串,對象& gtitem = null
for(int I = 0;我& ltdatas.lengthi++) {
item = new HashMap & lt字符串,對象& gt();
item.put("Title ",datas[I]);
datalist . add(item);
}
laytable . setadapter(new my adapter(this,dataList));
}
}