【发布时间】:2014-12-21 10:23:49
【问题描述】:
在以编程方式设置 TableRow 上的边距 和 背景颜色时,我遇到了一个奇怪的问题。 我已经阅读了关于边距的 this thread 和关于背景颜色的 this one,但显然,我做对了。问题似乎出在其他地方。
我动态创建 TableRows,其中赔率必须是特定颜色(以提高可读性)。我只是写了这个:
if(myCursor != null && myCursor.moveToFirst()){
do{
TableRow tableRow = new TableRow(getActivity());
TableLayout.LayoutParams tlp = new TableLayout.LayoutParams(TableLayout.LayoutParams.MATCH_PARENT, TableLayout.LayoutParams.MATCH_PARENT);
tlp.setMargins(0, 10, 0, 10);
tableRow.setLayoutParams(tlp);
for(int j=0 ; j < TopTagsDetailsCursor.getColumnCount();j++){
TextView tv = new TextView(getActivity());
tv.setText(TopTagsDetailsCursor.getString(j));
if (j>0) tv.setGravity(Gravity.CENTER);
tableRow.addView(tv);
}
if ((i % 2) != 0){
tableRow.setBackgroundColor(getResources().getColor(R.color.table_row));
}
dataTable.addView(tableRow);
i++;
});
}while(myCursor.moveToNext());
我不明白的是,在每个奇数行上,使用我的自定义背景颜色,我的自定义边距(顶部和底部 10)没有“应用”到该行,但它们确实在偶数行. 还是比较陌生:如果我删除了自定义背景颜色的部分代码,边距在哪里都可以!!
那么,为什么我设置自定义背景颜色时自定义边距不正常??
PS:我什至尝试移动一些代码行(尤其是 addView(tableRow) 和关于颜色的那些),但没有效果。
提前致谢! :)
【问题讨论】:
标签: java android android-layout