Reputation: 7014
I need to show table border as well as table row border dynamically.I created table like this:
TableLayout tl = (TableLayout) findViewById(R.id.tableLayout1);
for (int i = initil; i <end; i++) {
TableRow tr = new TableRow(this);
tr.setTag(i);
TableLayout.LayoutParams tableRowParams = new TableLayout.LayoutParams(TableLayout.LayoutParams.WRAP_CONTENT,TableLayout.LayoutParams.WRAP_CONTENT);
tableRowParams.setMargins(leftMargin, topMargin, rightMargin, bottomMargin);
TextView txtCode = new TextView(this);
txtCode.setTextSize(1, 12);
createView(tr, txtCode, productList.get(i).getProductCode());
TextView txtDes = new TextView(this);
txtDes.setTextSize(1, 12);
createView(tr, txtDes, productList.get(i).getDescription());
EditText txtQty = new EditText(this);
txtQty.setTextSize(2, 12);
txtQty.setHeight(4);
txtQty.setWidth(6);
txtQty.setId(i);
txtQty.setFocusable(true);
txtQty.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL);
txtQty.setText("0.00");
tr.addView(txtQty);
txtQty.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
Log.v("TAG", "afterTextChanged" + s.toString());
}
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
Log.v("TAG", "beforeTextChanged");
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
Log.v("TAG", "onTextChanged");
}
});
if(invPriceEdit.equals("") && invPriceEdit.equals("1")){
EditText txtPrice = new EditText(this);
txtPrice.setText(Double.toString(productList.get(i).getPrice()));
txtPrice.setTextSize(12);
txtPrice.setHeight(3);
txtPrice.setWidth(8);
tr.addView(txtPrice);
}else{
TextView txtPrice = new TextView(this);
txtPrice.setTextSize(12);
txtPrice.setWidth(8);
txtPrice.setText(Double.toString(productList.get(i).getPrice()));
}
Log.i("----" , Double.toString(productList.get(i).getPrice()));
tl.addView(tr);
tr.addView(t);
}
public void createView(TableRow tr, TextView t, String viewdata) {
t.setText(viewdata);
t.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
t.setTextColor(Color.DKGRAY);
t.setPadding(1, 0, 0, 0);
tr.setPadding(0, 0, 0, 0);
tr.addView(t);
}
How to give please help me..
Thanks in advance
Upvotes: 0
Views: 3265
Reputation: 4266
An easy way to make this
This will create a black border between the rows and columns
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/black" >
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="1dp"
>
<TextView
android:id="@android:id/empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_marginLeft="1dp"
android:background="@android:color/white"
android:text="@string/no_demos" />
<TextView
android:id="@android:id/empty"
android:layout_weight="1"
android:layout_marginLeft="1dp"
android:background="@android:color/white"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/no_demos" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="1dp"
>
<TextView
android:id="@android:id/empty"
android:layout_weight="1"
android:background="@android:color/white"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/no_demos" />
<TextView
android:id="@android:id/empty"
android:layout_weight="1"
android:background="@android:color/white"
android:layout_marginLeft="1dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/no_demos" />
</TableRow>
</TableLayout>
Upvotes: 0
Reputation: 138
You can try to define a style xml file and use it for your table using setBackgroundDrawable() function.
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#99FFFFFF"/>
<corners android:radius="30px"/>
<padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" />
</shape>
Upvotes: 1