我正嘗試使用Java(而不是XML)創建帶有填充屏幕並具有頁邊距的按鈕的LinearLayout。下面是代碼,沒有利潤的工作:以編程方式在LinearLayout中設置頁邊距
LinearLayout buttonsView = new LinearLayout(this);
buttonsView.setOrientation(LinearLayout.VERTICAL);
for (int r = 0; r < 6; ++r) {
Button btn = new Button(this);
btn.setText("A");
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT); // Verbose!
lp.weight = 1.0f; // This is critical. Doesn't work without it.
buttonsView.addView(btn, lp);
}
ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT);
setContentView(buttonsView, lp);
使作品很好,但如何在地球上你給的按鈕利潤率所以他們之間的空間?我嘗試使用LinearLayout.MarginLayoutParams
,但沒有weight
成員,所以它不好。如果您在其構造函數中傳遞lp
,它也不起作用。
這是不可能的嗎?因爲它看起來確實如此,並且它不會是您只能在XML中執行的第一個Android佈局任務。
http://developer.android.com/reference/android/view/ViewGroup.MarginLayoutParams.html#setMargins(int,INT,INT,INT)代替layoutParams.setMargins(30, 20,30,0);你把layoutParams.setMargins(30dp,20dp,30dp,0dp); – DarthestVader 2012-01-09 17:40:30
setMargins以int作爲參數..您只能使用xml attributtes – jyavenard 2012-02-01 08:05:56