以编程方式设置TableRow数组的边框

Big*_*low 3 android tablerow android-view android-tablelayout

我知道它和这里的问题相同 但是它还没有得到答案,所以我在这里试试,因为我也需要它:)
我得到了一个数组:(我缩短了SO的数组/代码)

ScrollView sv = new ScrollView(this);
TableLayout ll=new TableLayout(this);
HorizontalScrollView hsv = new HorizontalScrollView(this);
TableRow tbrow=new TableRow(this);
 for(int i=0;i<mConnector.idArray.size();i++) {
         tbrow=new TableRow(this);
         tbrow.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, 1));
         tbrow.setBackgroundColor(Color.rgb(51, 51, 51));

         ll.addView(tbrow);
 }

hsv.addView(ll);
sv.addView(hsv);
setContentView(sv);
Run Code Online (Sandbox Code Playgroud)

遗漏了数组中的信息,我认为你不需要它.
但是如何在每一行中添加边框(更喜欢水平和垂直)?我希望这是解决方案:

tbrow.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, 1));
tbrow.setBackgroundColor(Color.rgb(51, 51, 51));
Run Code Online (Sandbox Code Playgroud)

但它只是将整张桌子的颜色变为灰色.

希望我足够清楚,并希望他们是一个解决方案.

Luk*_*rog 19

但是如何在每一行中添加边框(更喜欢水平和垂直)?我希望这是解决方案:

如果你只想在你周围设置边框,你TableRows只需使用下面的drawable作为背景TableRow:

R.drawable.row_border:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <solid android:color="#ffffff" />
    <stroke android:width="3dp" android:color="#99cc00" />

</shape>
Run Code Online (Sandbox Code Playgroud)

然后:

tbrow.setBackgroundResource(R.drawable.row_borders);
Run Code Online (Sandbox Code Playgroud)

如果要获得恒定宽度的边框,可以使用layer-list三个版本,一个用于顶行,一个用于中间的行,一个用于底行.