如何在Android中设置一组表行边框?

时间:2015-10-11 04:52:36

标签: android border android-tablelayout

我在这里读过类似的问题,但没有一个能够解决我的疑问。

我已经阅读了有关为每个单元格,表格行等添加边框的信息。但是我需要在某些行集周围设置边框(类型的框)。

让我们假设一个表有5行,但我想在一个单独的框中包含3行,而另外2行包含在另一个框中。

我想从java代码后面以编程方式执行;可能吗? enter image description here

其中有球体的矩形是桌子的元素,我为一些桌面设置了绿色和红色背景。我希望它像边框一样显示,就像一个包含行集而不是完整的红色和绿色背景的框。我希望我对自己的问题很清楚。需要你的建议..

1 个答案:

答案 0 :(得分:2)

你可以通过为你的行设置backgroundpadding来实现。当然我认为还有其他方法存在。

<TableLayout
    android:layout_width="wrap_content"
    android:layout_height="match_parent">
    <TableRow
        android:id="@+id/t1"
        android:background="#00f"
        android:padding="2dp"
        android:layout_margin="5dp">
        <TextView
            android:text=" blue border "
            android:gravity="center"
            android:textColor="#000"
            android:background="#fff"
            android:padding="5dp"/>
    </TableRow>
    <TableRow
        android:id="@+id/t2"
        android:background="#f00"
        android:padding="2dp"
        android:layout_margin="5dp">
        <TextView
            android:text="red border"
            android:textColor="#000"
            android:gravity="center"
            android:background="#fff"
            android:padding="5dp"/>
    </TableRow>
    <TableRow
        android:id="@+id/t3"
        android:background="#0f0"
        android:padding="2dp"
        android:layout_margin="5dp">
        <TextView
            android:text="green border"
            android:textColor="#000"
            android:gravity="center"
            android:background="#fff"
            android:padding="5dp"/>
    </TableRow>
</TableLayout>  

enter image description here

更新:

在您的活动中,您可以按TabaleRow ID:

更改边框颜色
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    TableRow row1 = (TableRow) findViewById(R.id.t1);
    row1.setBackgroundColor(Color.BLUE);

    TableRow row2 = (TableRow) findViewById(R.id.t2);
    row2.setBackgroundColor(Color.BLUE);

    TableRow row3 = (TableRow) findViewById(R.id.t3);
    row3.setBackgroundColor(Color.RED);

}