我有一個活動,所有顯示元素動態添加。 Theres沒有xml的活力。以編程方式將項目放入活動中。 NO XML
的活動包括以下控件:
- 的RelativeLayout(所有的子視圖坐在佈局對象)
- 的TextView(頁面標題,坐鎮RelativeLayout的頂部)
- 滾動型(保存所有的數據控制滾動區)
- 的LinearLayout(佈局對象來保存活動按鈕)
我想知道如何定義ScrollView位於標題TextView下面,LinearLayout按鈕的上方,LinearLayout設置爲活動頁面底部的位置。我嘗試過使用RelativeLayout.LayoutParams進行設置規則,但似乎無法理解如何去做。任何幫助或教程的鏈接將apreciated
我已經包括了我的代碼,看看是否有人能幫助
// declare the items for display
RelativeLayout baseLayout = new RelativeLayout(this);
// add the customer name and number field.
// NOTE: We will always require this widget regardless of dialog design fields
tvCustomerNameNumber = new TextView(this);
tvCustomerNameNumber.setTextSize(20);
tvCustomerNameNumber.setText("Customer Name & Number");
// build up the linear layout of controls
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
// Scroll view.
// NOTE: We will always need this widget to enable us to scroll the page
// if too many items are added for the display size
ScrollView sv = new ScrollView(this);
sv.addView(ll);
// buttons
LinearLayout buttons = new LinearLayout(this);
buttons.setOrientation(LinearLayout.HORIZONTAL);
// button edit
Button edit = new Button(this);
edit.setId(EDIT_BUTTON_ID);
// button save
Button save = new Button(this);
save.setId(SAVE_BUTTON_ID);
// button cancel
Button cancel = new Button(this);
cancel.setId(CANCEL_BUTTON_ID);
// add each button to the button layout
buttons.addView(edit);
buttons.addView(save);
buttons.addView(cancel);
// Scroll view Layout parameters
RelativeLayout.LayoutParams scrollParams = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
scrollParams.addRule(RelativeLayout.BELOW, tvCustomerNameNumber.getId());
scrollParams.addRule(RelativeLayout.ABOVE, buttons.getId());
// buttons Layout parameters
RelativeLayout.LayoutParams buttonParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
buttonParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
buttonParams.addRule(RelativeLayout.BELOW, sv.getId());
// add the customer name number field to the base layout
baseLayout.addView(tvCustomerNameNumber);
// add the scroll view to the base layout
baseLayout.addView(sv); //, scrollParams);
// add the buttons to the base layout
baseLayout.addView(buttons, buttonParams);
// set the content view
this.setContentView(baseLayout);
最後,我用textview,scrollview和horizontalLINElayouts創建了一個簡單的xml文件,並動態地將我的組件添加到scrollview內的一個線性佈局 – 2012-02-28 15:18:04