1. ホーム
  2. android

[解決済み] LinearLayoutの子要素の間にスペースを作るには?

2022-04-13 16:10:12

質問

縦長のLinearLayoutにカスタムビューをプログラムで追加しているのですが、ビューとビューの間にスペースが欲しいのです。 CustomViewのコンストラクタにsetPadding(0, 1, 0, 1)を追加してみましたが、効果がないようです。 何かアドバイスがあればお願いします。

*余白を使うべきとのご指摘をいただきました。 私は動的にビューを追加しているので、(xml ではなく)コードから余白を設定する必要があります。 その方法は以下の通りだと思うのですが、うまくいきません。

public class MyView extends View
{
    public MyView (Context context)
    {
        super(context);

        MarginLayoutParams params = new MarginLayoutParams(LayoutParams.WRAP_CONTENT,  LayoutParams.WRAP_CONTENT);
        params.setMargins(0, 10, 0, 10);
        setLayoutParams(params);

*編集 また、Linearレイアウトにビューを追加する際に、MarginLayoutParamsをパラメータとして使用してみました(以下のように)。 これもうまくいきませんでした。

MarginLayoutParams params = new MarginLayoutParams(linearLayout.getLayoutParams());
linearLayout.setMargins(0, 10, 0, 10);
linearLayout.addView(view, params);

解決方法は?

あなたは android:layout_margin<Side> を子要素に追加します。パディングは内部で行います。