0

動的レイアウトを使用しています。の幅と高さを設定しImageViewます。コードは以下のとおりです。ImageView特定のレイアウトでの高さと幅を設定するにはどうすればよいですか?どんな助けでも大歓迎です。

    RelativeLayout layout = new RelativeLayout(mContext);
    TextView text1 = new TextView(mContext);
    text1.setText(Constants.vctrCategory.elementAt(counter).toString());
    LayoutParams params1 = new    LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
    params1.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
    text1.setLayoutParams(params1);
    text1.setTextSize(20);
    layout.addView(text1);
    ImageView image = new ImageView(mContext);
    image.setImageBitmap(bitmap);
    layout.addView(image);
    counter++;
    return layout;
4

2 に答える 2

0

addView()だけで呼び出しを呼び出すImageViewことができますが、幅と高さの2つの整数を取るバージョンを使用することもできます。

addView(子の表示、int幅、int高さ)

または、ビューの幅や高さを直接設定することもできますLayoutParams。つまりlayout.addView(image)、独自のスニペットで呼び出した後です。

layout.addView(image);
layout.getLayoutParams().width = width;
layout.getLayoutParams().height = height;

基本的に、それはあなたがすでにしていることと似ていますTextView

于 2012-11-11T19:35:32.247 に答える
0

imageviewを設定しましたが、表示されません

次のようなものを試してください。

RelativeLayout layout = new RelativeLayout(this);

LayoutParams params1 = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
params1.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
TextView text1 = new TextView(this);
text1.setText(Constants.vctrCategory.elementAt(counter).toString());
text1.setTextSize(20);
layout.addView(text1, params1);

LayoutParams params2 = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
params2.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
ImageView image = new ImageView(this);
image.setImageBitmap(bitmap);
layout.addView(image, params2);

count++;
return layout;

他にも多くのLayoutParamsクラスがあります。必ず、RelativeLayout.LayoutParamsをインポートしてください。それでも「表示されない」場合bitmapは、原因である可能性があります。

于 2012-11-12T19:28:14.833 に答える