18

我有一个在 Android 项目中以编程方式创建的 TableLayout。只要从数据库中获取更多行,我就会不断添加 TableRows。现在我想在 TableRows 之间添加分隔线,比如边框。

在我从 XML 静态创建的另一个 TableLayout 中,我使用 View 作为分隔符,使用 style.xml 进行样式。

我尝试向 tablelayout 添加一个视图,如下所示:

View v=new View(this);
         v.setLayoutParams(new LayoutParams(
                 LayoutParams.FILL_PARENT,
                 LayoutParams.WRAP_CONTENT));
         v.setBackgroundResource(R.drawable.rowseparator_shape);
             tr.addView(mTvDate);
             tr.addView(mTvResult);

             tl.addView(tr); 
             tl.addView(v);

但它只会在所有收集的 TableRows 之后添加一次。为每个添加的 tr 添加一个视图的聪明方法是什么?还是我应该一起使用其他东西?

4

3 回答 3

38
View v = new View(this);
v.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, 1));
v.setBackgroundColor(Color.rgb(51, 51, 51));
tr.addView(mTvDate);
tr.addView(mTvResult);

tl.addView(tr); 
tl.addView(v);

在这里,我正在创建一个具有特定背景颜色的像素高的视图。这对我有用。

于 2011-02-23T14:33:54.933 回答
15

感谢 Madhusuthanan。我花了一段时间寻找如何做到这一点,以简单地将 TextViews 与水平线分开。我正在以编程方式创建我的视图(不使用表格布局)。这是我根据上述答案得出的结论:

View line = new View(this);
line.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, 1));
line.setBackgroundColor(Color.rgb(51, 51, 51));
layout.addView(line);

简单的!希望这对其他人有帮助!

于 2012-02-15T15:05:27.483 回答
1

您可以使用比这样做更容易和更好的 Listview。

于 2011-02-23T14:28:32.207 回答