首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在以编程方式创建的TableRows之间添加分隔线?

如何在以编程方式创建的TableRows之间添加分隔线?
EN

Stack Overflow用户
提问于 2011-02-23 22:21:25
回答 3查看 22.6K关注 0票数 18

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

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

我尝试将视图添加到表格布局中,如下所示:

代码语言:javascript
复制
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添加一个视图的聪明方法是什么?或者我应该一起使用其他东西?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-02-23 22:33:55

代码语言:javascript
复制
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);

在这里,我创建了一个带有特定背景颜色的一个像素高的视图。这对我很有效。

票数 38
EN

Stack Overflow用户

发布于 2012-02-15 23:05:27

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

代码语言:javascript
复制
View line = new View(this);
line.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, 1));
line.setBackgroundColor(Color.rgb(51, 51, 51));
layout.addView(line);

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

票数 15
EN

Stack Overflow用户

发布于 2011-02-23 22:28:32

你可以使用Listview,这样做会更容易,也更好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5092116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档