我想創建一個帶有提交按鈕的輸入框。在他們之間,他們應該跨越屏幕的寬度。目前,我有:LinearLayout從右到左填充
LinearLayout row= new LinearLayout(context);
row.setOrientation(HORIZONTAL);
row.setGravity(Gravity.RIGHT);
EditText input = new EditText(context);
Button submit = new Button(context);
submit.setText("Submit");
row.addView(submit);
row.addView(input,LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
myView.addView(row,LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
這導致正確的空間分佈:提交按鈕佔據儘可能多的空間,因爲它需要的輸入按鈕佔用的剩餘空間,但是他們是南轅北轍(中提交按鈕在左側,儘管設置了重力)。如果我消除重力,並將元素添加到行的順序相反,則輸入框將佔用屏幕的整個寬度,並且提交按鈕不可見。我究竟做錯了什麼?
是的,我認爲從代碼形式佈局是不好的主意。所以,只有在xml佈局絕對不適用於你的情況下才能做到這一點。 – 2010-08-11 19:50:03
我對Android還比較陌生,到目前爲止,這個項目中的所有內容都是基於代碼的。我將在未來的項目中使用xml,但現在我將採用代碼解決方案。 – fredley 2010-08-12 08:41:42