I'm making an app where I dynamically make tablerows. Each tablerow includes 3 ImageViews and one TextView, with textview there's not any problem, I simyply use textview.setGravity(Gravity.Center_Vertical), but there's a problem with ImageViews. How to center them (Vertically and Horizontally) ?
Here's the picture wchich shows what I want to achieve:
here's the class wchich adss everything to TableLayout:
public class Obiekt {
int moje;
TableRow tr = new TableRow(MainActivity.this);
ImageView iv = new ImageView(MainActivity.this);
ImageView sett = new ImageView(MainActivity.this);
ImageView rin = new ImageView(MainActivity.this);
public Obiekt(int obraz, int obraz2, int obraz3, int dzwiek, String tekst) {
moje = sound.load(MainActivity.this, dzwiek, 1);
iv.setImageResource(obraz);
//iv.setLayoutParams(rowparams);
tr.addView(iv);
// TEXTVIEW settings
TextView tv = new TextView(MainActivity.this);
tv.setText(tekst);
tv.setTypeface(tf);
tv.setTextSize(rozmiar);
tv.setGravity(Gravity.CENTER_VERTICAL);
tv.setGravity(Gravity.CENTER_HORIZONTAL);
tv.setTextColor(Color.parseColor("#FFFFFF"));
tr.addView(tv);
// ImageView RIGHT
sett.setImageResource(obraz2);
tr.addView(sett);
// ImageView RING
rin.setImageResource(obraz3);
tr.addView(rin);
//tr.setLayoutParams(rowparams1);
tl.addView(tr);
View wiew = new View(MainActivity.this);
wiew.setBackgroundResource(R.drawable.divide);
tl.addView(wiew);
tv.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
play();
}
});
}
public void hide() {
tr.setVisibility(10);
}
public void size() {
iv.getLayoutParams().height=rozmiar;
iv.getLayoutParams().width=rozmiar;
sett.getLayoutParams().width=rozmiar;
sett.getLayoutParams().height=rozmiar;
rin.getLayoutParams().height=rozmiar;
rin.getLayoutParams().width=rozmiar;
}
public void play() {
sound.play(moje, 1, 1, 0, 0, 1);
}
}