2013-05-28 44 views
2

我創建在我的應用程序的佈局,其包括下列:
main_layoutFrameLayout,填滿整個屏幕)
- >包括:main_interfaceLinearLayout,高度/寬度填充親本)機器人:前置的LinearLayout編程

現在我想在main_interface之前在main_layout中添加另一個LinearLayout。 我嘗試這樣做:

LinearLayout bar = new LinearLayout(this); 
     bar.setGravity(Gravity.TOP); 
     LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); 
     bar.setLayoutParams(params); 
     main_layout.addView(bar); 

但這只是我的重疊main_interface

任何幫助?

回答

7

如果要將View添加到ViewGroup中的特定位置,可以使用addView(view, position)。在這種情況下,假設main_interface是第一個View,您可以撥打main_layout.addView(bar, 0)

但是,您需要先修復您的佈局。如果您使用FrameLayout作爲您的main_layout並將main_interface的高度和寬度設置爲match_parent,那麼它們肯定會重疊。如果您想垂直堆疊View s,請嘗試使您的main_layout a LinearLayoutandroid:orientation="vertical"

如果您可以發佈您的實際XML佈局,我可以幫助您修改和測試它。

+0

謝謝你,你是正確的每一點!我將Layout更改爲LinearLayout,並將addView()的索引設置爲零。謝謝! –

+0

不客氣! :) – Krauxe