LinearLayout.LayoutParams
とsetMargins(int, int, int, int)
でプログラムでView
のマージンを設定する方法はわかりましたが、ビューに負のマージンを挿入するにはどうすればよいですか?プログラムでビューに負のマージンを設定する
6
A
答えて
7
アクセスあなたの親のレイアウトのレイアウトのparams、あなたが好きなようにそれらを修正する:あなたは、レイアウトを変更した
ViewGroup.MarginLayoutParams params =
(ViewGroup.MarginLayoutParams)view.getLayoutParams();
params.topMargin = ...; // etc
// or
params.setMargins(...);
後、view.requestLayout()
を呼び出します。
0
数学を使用すると、私のために十分にそれを騙すようです。
ViewGroup.MarginLayoutParams params =
(ViewGroup.MarginLayoutParams)view.getLayoutParams();
params.topMargin = 100 - 200; // -100
私はエラーを取得しています: 'ここで解決ピクセル寸法の代わりに、リソースIDを渡す必要があります。getResources()getDimension *を( - 100)'二行目に負の整数を入れたとき。 –
私の回避策を下記の別の回答として追加してください。 –