我正在制作一个动态制作表格的应用程序。每个tablerow包括3个ImageViews和一个TextView,用textview没有任何问题,我简单地使用textview.setGravity(Gravity.Center_Vertical),但是ImageViews有问题。如何使它们居中(垂直和水平)?
这是显示我想要实现的目标的图片:
这是将所有内容都添加到 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);
}
}