5

我知道这与这里的问题相同 但是它还没有收到答案,所以我在这里尝试一下,因为我也需要它:)
我得到了一个数组:(我缩短了 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);

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

tbrow.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, 1));
tbrow.setBackgroundColor(Color.rgb(51, 51, 51));

但它只是把我的整个桌子染成灰色。

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

4

1 回答 1

24

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

如果你只想在你的周围有边框,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>

然后:

tbrow.setBackgroundResource(R.drawable.row_borders);

如果要获得恒定宽度的边框,可以使用layer-list具有三个版本的 a 来代替,一个用于顶行,一个用于中间行,一个用于底行。

于 2012-11-22T12:19:22.660 回答