Programmatically set border for TableRow array

15,311

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.

Share:
15,311
Bigflow
Author by

Bigflow

Updated on June 19, 2022

Comments

  • Bigflow
    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
    Bigflow over 11 years
    Oh, never used a method like this. A new learning point :). Thanks!!