Programmatically set border for TableRow array
But how to add borders in every row (prefer horizontal and vertical)? I hoped this was the solution:
If you just want to have borders around your TableRows
you can simply use the drawable below as the background for the 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>
then:
tbrow.setBackgroundResource(R.drawable.row_borders);
If you want to obtain a constant width border, you can use instead a layer-list
with three versions, one for the top row, one for the rows in the middle and one for the bottom row.
Bigflow
Updated on June 19, 2022Comments
-
Bigflow almost 2 years
I know it is the same question as here But it hasn't receive an answer yet, so I try it here, becuase I need it too :)
I got an Array: (I shortend the array/code for 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);
Left out the information in the Array, I don't think you need that.
But how to add borders in every row (prefer horizontal and vertical)? I hoped this was the solution:tbrow.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, 1)); tbrow.setBackgroundColor(Color.rgb(51, 51, 51));
But it just colors my whole table grey.
Hope I am clear enough, and hope their is a solution.
-
Bigflow over 11 yearsOh, never used a method like this. A new learning point :). Thanks!!