kak*_*a47 18 android tablelayout separator
我有一个在Android项目中以编程方式创建的TableLayout.只要从数据库中获取更多行,我就会不断添加TableRows.现在我想在TableRows之间添加分隔线,如边框.
在我从XML静态创建的另一个TableLayout中,我使用View作为分隔符,使用style.xml样式.
我尝试将一个View添加到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);
Run Code Online (Sandbox Code Playgroud)
但它只在所有收集的TableRows之后添加一次.为每个tr添加一个View的智能方法是什么?或者我应该一起使用其他东西?
Mad*_*ram 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);
Run Code Online (Sandbox Code Playgroud)
在这里,我正在创建一个具有特定背景颜色的像素高的视图.这适合我.
小智 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);
Run Code Online (Sandbox Code Playgroud)
简单!希望这有助于其他人!