-3

テーブル行を動的に作成するアプリを作成しています。各 tablerow には 3 つの ImageViews と 1 つの 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

たとえば、イメージビューが imageView.setScaleType(ScaleType.FIT_XY); よりも imageView であるように、イメージビューの「SCALE TYPE」を FitXY に設定します。

于 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か?

内に描画するスペース (セルのフル サイズ) に一致するRelativeLayoutように を設定し、をに追加するときに、LayoutParamsImageViewRelativeLayoutRelativeLayout.center_in_parent

于 2012-10-18T14:59:58.570 に答える