Viewコンポーネントの余白設定

Android Tips

Viewコンポーネントを配置する際、マージンやパディングのような余白を指定したい場合は、ViewGroupのsetMargins()やViewのsetPadding()を使用します。

import android.app.Activity;
import android.widget.*;

public class MyClass extends Activity{

  public void myMethod(){
    int FP = LinearLayout.LayoutParams.FILL_PARENT;
    int WC = LinearLayout.LayoutParams.WRAP_CONTENT;

    TextView text = new TextView(this);
    LinearLayout layout = new LinearLayout(this);
    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(WC,WC);

    // マージンの設定 left:5px top:10px right:15px bottom:20px
    params.setMargins(5,10,15,20);

    // パディングの設定 left:5px top:10px right:15px bottom:20px
    text.setPadding(5,10,15,20);

    layout.addView(text,params);
  }
}

xmlだとこうなります。

<?xml version="1.0" encoding="utf-8"?>
LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
>
<TextView android:id="@+id/text"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_marginLeft="5px"
 android:layout_marginTop="10px"
 android:layout_marginRight="15px"
 android:layout_marginBottom="20px"
 android:layout_margin="10px" // すべてに10px
 android:paddingLeft="5px"
 android:paddingTop="10px"
 android:paddingRight="15px"
 android:paddingBottom="20px"
 android:padding="10px" // すべてに10px
/>
</LinearLayout>

参考: TextViewのカスタマイズ
参考: ImageViewのカスタマイズ
参考: Viewのクリックイベント
参考: Viewのタッチイベント

コメント