我在这里读过类似的问题,但没有一个能够解决我的疑问。
我已经阅读了有关为每个单元格,表格行等添加边框的信息。但是我需要在某些行集周围设置边框(类型的框)。
让我们假设一个表有5行,但我想在一个单独的框中包含3行,而另外2行包含在另一个框中。
我想从java代码后面以编程方式执行;可能吗?
其中有球体的矩形是桌子的元素,我为一些桌面设置了绿色和红色背景。我希望它像边框一样显示,就像一个包含行集而不是完整的红色和绿色背景的框。我希望我对自己的问题很清楚。需要你的建议..
答案 0 :(得分:2)
你可以通过为你的行设置background
和padding
来实现。当然我认为还有其他方法存在。
<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>
更新:
在您的活动中,您可以按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);
}