Android: Prepend LinearLayout программно
Я создал макет в своем приложении, который включает в себя следующее:main_layout
(FrameLayout
, заполняет весь экран)
-> включает в себя: main_interface
(LinearLayout
, высота / ширина заполняет родитель)
Теперь я хочу добавить еще LinearLayout
в main_layout
Перед main_interface
, Я попробовал это:
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
,
Любая помощь?
1 ответ
Если вы хотите добавить View
на конкретную позицию в ViewGroup
, ты можешь использовать addView(view, position)
, В этом случае, предполагая main_interface
это первый View
, ты можешь позвонить main_layout.addView(bar, 0)
,
Тем не менее, вы должны исправить свой макет в первую очередь. Если вы используете FrameLayout
как твой main_layout
и установить main_interface
высота и ширина до match_parent
тогда они наверняка будут перекрываться. Попробуйте сделать свой main_layout
LinearLayout
с android:orientation="vertical"
если вы хотите вертикально сложены View
s.
Если бы вы могли опубликовать свой фактический макет XML, я мог бы помочь вам изменить и протестировать его.