I'm programmatically populating a tablelayout in a scrollview with tablerow-s. In the tablerows I am putting the data in textviews.
Now my questyon is how to programmatically(in java) set textviews like this:
<TextView
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/tab"
android:layout_weight="0.4"
android:minWidth="80dp"
/>
<TextView
android:layout_width="81dp"
android:layout_height="wrap_content"
style="@style/tab"
/>
<TextView
android:layout_width="70dp"
android:layout_height="wrap_content"
style="@style/tab"
/>
<TextView
android:layout_width="50dp"
android:layout_height="wrap_content"
android:background="@color/white"
android:gravity="center"
style="@style/tab"
android:textStyle="bold"
android:textColor="@color/black"
android:layout_marginRight="5dp"
/>
In the end I did it like this:
TextView tvID = new TextView(this);
tvID.setLayoutParams(new TableRow.LayoutParams(w_id, TableRow.LayoutParams.WRAP_CONTENT));
tvID.setPadding(5, 0, 0, 0);
tvID.setTextSize(11);
tvID.setText(sharedIDArt);
artikliVrstica.addView(tvID);
TextView tvNazArt = new TextView(this);
TableRow.LayoutParams tvNazArtParms = new TableRow.LayoutParams(w_naz, TableRow.LayoutParams.WRAP_CONTENT, 0.4f);
tvNazArtParms.setMargins(5, 0, 0, 0);
tvNazArt.setLayoutParams(tvNazArtParms);
tvNazArt.setTextAppearance(this, android.R.style.TextAppearance_Large);
tvNazArt.setText(NazivArt);
artikliVrstica.addView(tvNazArt);
TextView tvKol = new TextView(this);
TableRow.LayoutParams tvKolParms = new TableRow.LayoutParams(w_kol, TableRow.LayoutParams.WRAP_CONTENT, 0.3f);
tvKolParms.setMargins(5, 0, 0, 0);
tvKol.setLayoutParams(tvKolParms);
tvKol.setTextAppearance(this, android.R.style.TextAppearance_Large);
tvKol.setGravity(Gravity.RIGHT);
tvKol.setText(kolicina);
artikliVrstica.addView(tvKol);
TextView tvCena = new TextView(this);
TableRow.LayoutParams tvCenaParms = new TableRow.LayoutParams(w_cen, TableRow.LayoutParams.WRAP_CONTENT, 0.3f);
tvCenaParms.setMargins(5, 0, 10, 0);
tvCena.setLayoutParams(tvCenaParms);
tvCena.setTextAppearance(this, android.R.style.TextAppearance_Large);
tvCena.setGravity(Gravity.RIGHT);
tvCena.setText(cena);
artikliVrstica.addView(tvCena);
TextView tvIzbris = new TextView(this);
TableRow.LayoutParams tvIzbrParms = new TableRow.LayoutParams((w_izb-10), TableRow.LayoutParams.WRAP_CONTENT);
tvIzbrParms.setMargins(10, 0, 5, 0);
tvIzbris.setLayoutParams(tvIzbrParms);
tvIzbris.setPadding(0, 7, 10, 7);
tvIzbris.setTextAppearance(this, android.R.style.TextAppearance_Large);
tvIzbris.setTypeface(null,Typeface.BOLD);
tvIzbris.setTextColor(Color.BLACK);
tvIzbris.setBackgroundColor(Color.WHITE);
tvIzbris.setGravity(Gravity.CENTER);
tvIzbris.setText("-");
artikliVrstica.addView(tvIzbris);
In the "w_*" variabiles is stored the size of the "table header cels"...
Try this ,it may help
TextView view = new TextView(this);
view.setText("example textview ");
//adding layout properties
view.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
// add the textview to the parentLayout
parentLayout.addView(view);
Related Links : Dynamically add textViews to a linearLayout
how to generate dynamic textview in android?
Dynamically Add A TextView - Android
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With