3

Java コードで TableLayout を定義しました。行ごとに、3 つの ImageButton を表示しています。これらのボタンのいずれかが押されると、背景色が変わります。きれいに表示するために、10px のパディングを設定しました。

私が今抱えている問題は、隣り合った 2 つのボタンを押しても、ボタン間の区切りが正確に見えないことです。ImageButtons またはその他のソリューションにマージンを設定する可能性はありますか?

4

2 に答える 2

11

試す

int leftMargin = 10;
((MarginLayoutParams) imageButton.getLayoutParams()).leftMargin = leftMargin;

編集:ImageButton xmlで定義され ていない場合は、次のように設定する必要がありますLayoutParams:

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
                        LayoutParams.WRAP_CONTENT);
params.leftMargin = 10;
b.setLayoutParams(params);

ここでLinearLayoutは、リスト項目で使用すると仮定します。

于 2011-03-31T08:37:14.053 に答える
2

コントロールが入っているコンテナには必ず を使用してLayoutParamsください。あなたの場合、ボタンは にあるTableRowのでTableRow.LayoutParams、他のタイプのパラメータを使用すると、コントロールはまったく表示されません。

于 2011-06-17T22:48:34.363 に答える