0

各行がプログラムで作成されるテーブル レイアウトがあります。

構造は基本的に、各行に対して次のとおりです。

TextView、LinearLayout、LinearLayout、LinearLayout、Button。

各 LinearLayout には、複数の ImageView が含まれています。境界線が接触してレンダリングされるので、ImageView アイテム間の間隔を広げたいと思います。

ここで提案を試しました-Androidでは、LinearLayoutの子の間にスペースを作る方法は? - 私は次のようにパラメータを作成します:

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FillParent, LinearLayout.LayoutParams.WrapContent);

コントロールを追加するときに、次のように画像ビューに設定します。

linearLayout1.AddView(image1);
linearLayout1.AddView(image2, layoutParams);
linearLayout1.AddView(image3);

中央の項目にのみ設定していることに注意してください。これは、達成しようとしているものには左右のマージンで問題ありません。

問題は、レイアウト パラメータにマージンを設定しなくても、つまりインスタンス化して上記のように設定するだけで、左に約 35 ピクセルのマージンが追加され、必要以上に大きなマージンが発生することです。1px で SetMargins を呼び出しても、マージンは変更されません。

どこが間違っていますか?

4

1 に答える 1

0

このようにWrapContentとして線形レイアウトの幅を設定します

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WrapContent, LinearLayout.LayoutParams.WrapContent);
于 2012-11-05T04:40:14.533 に答える