setMargins
レイアウト内部の配置場所を指定するには
setMargins メソッドを用いるのだが
これには ViewGroup クラスのサブクラス LayoutParams クラスを利用しないといけない。
Android Developers:ViewGroup.LayoutParams
public class Hoge extends Activity {
// 子オブジェクトのサイズのまま <- ちょっと違うみたい・・・ static final int WC = LinearLayout.LayoutParams.WRAP_CONTENT; // =-2 // 親オブジェクトのサイズに合わせる static final int FP = LinearLayout.LayoutParams.FILL_PARENT; // =-1 // どうやら API Level 8 からは MATCH_PARENT に変更になったらしい //static final int MP = LinearLayout.LayoutParams.MATCH_PARENT; // =-1 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //レイアウト LinearLayout layout = new LinearLayout(this); setContentView(layout); //ボタン Button button = new Button(this); LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(WC, WC); layoutParams.setMargins(10, 10, 10, 10); // (左, 上, 右, 下) button.setLayoutParams(layoutParams); layout.addView(button); } } [/android] 参考元:TechFirm 画面の作り方
引数は (幅, 高さ) なわけで、6,8,10行目で設定した定数はもちろんのこと
(480, 50) のような実数でもOK。