简体   繁体   中英

Programmatically set border for TableRow array

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.

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM