2013-07-01 2 views
4

Я программно заполняю tablelayout в scrollview с помощью tablerow-s. В таблицах я помещаю данные в текстовые просмотры.
Теперь мой questyon как программно (в Java) установить TextViews так:Как программно установить textview-s и их свойства?

<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" 
/> 

ответ

5

В конце концов, я сделал это так:

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); 


В "w_ *" variabiles хранится размер "Cels заголовка таблицы" ...

1

Попробуйте, это может помочь

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); 

Ссылки по теме: Dynamically add textViews to a linearLayout

how to generate dynamic textview in android?

Dynamically Add A TextView - Android

Смежные вопросы