-3

我正在制作一个动态制作表格的应用程序。每个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);
    }
}
4

3 回答 3

1

将您的图像视图“SCALE TYPE”设置为 FitXY,例如您的图像视图是 imageView 而不是 imageView.setScaleType(ScaleType.FIT_XY);

于 2014-05-21T10:32:12.443 回答
0

试试这样

ImageView imgView=new ImageView(this);
imgView.setImageResource(R.drawable.yourimage);
imgView.setScaleType(ImageView.ScaleType.FIT_XY);
于 2012-10-18T14:06:27.400 回答
0

您是否尝试过添加ImageView内部 a RelativeLayout

将 设置为RelativeLayoutLayoutParams您要在其中绘制的空间(单元格的完整大小)匹配,然后在将 添加ImageView到时RelativeLayout,将其添加RelativeLayout.center_in_parent

于 2012-10-18T14:59:58.570 回答