2

現在、画像ビューとテキストビューを使用してプログラムで作成されたフレームレイアウトを使用しています。元のレイアウトでは相対レイアウトです。

RelativeLayout layout = (RelativeLayout) findViewById(R.id.rel);

    FrameLayout fr = new FrameLayout(this);
    fr.setBackgroundResource(R.drawable.question_bar_icon);
    ImageView b1 = new ImageView(this);
    TextView b2 = new TextView(this);
    b1.setBackgroundResource(R.drawable.mcq);
    fr.addView(b1);
    fr.addView(b2);
    layout.addView(fr);

今、私はimageviewとボタンのサイズを変更することができず、またそれらを配置することもできません。中央のsence textviewと、垂直方向の中央のimageviewで、左に配置されています。レイアウトパラメータを試しましたが、機能しませんでした。助けていただければ幸いです。

4

1 に答える 1

3

プログラムでビューを追加する場合はすべて、オーバーロードされたバージョンを使用してみてくださいaddView。そうでない場合は、デフォルトのレイアウトパラメータでに挿入されます。(PS挿入の順序も制御できます)。LayoutParameterViewGroup

たとえばImageView、フレームレイアウトの中央に配置したい場合は、次のようにします。

int width = FrameLayout.LayoutParams.WRAP_CONTENT; //or whatever you want
int height= FrameLayout.LayoutParams.WRAP_CONTENT; //or whatever you want

FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(width, height, Gravity.CENTER);

fr.addView(b1,lp);

他のビューについても同じようにします。最も重要なRelativeLayout.LayoutParamsのは、フレーム要素自体をに挿入するために使用して、同じことを行うことRelativeLayoutです。

于 2013-03-13T10:16:26.127 に答える