2015-12-28 2 views
1

У меня есть кнопка, которая при нажатии, создает RelativeLayout с простыми представлениями, такими как текст в нем. Все они должны содержаться в вертикальной линейной компоновке.Добавление одного макета поверх другого программно

При последовательном подключении создаются несколько относительных макетов, при этом последняя компоновка создается в соответствии с предыдущим. Тем не менее, я хотел бы обратить вспять этот порядок - последний макет укладывается выше предыдущего.

Относительные макеты не имеют атрибутов, таких как layout_below и т. Д., Однако. Единственный беспорядочный способ, которым я могу это сделать, - это компоновка сетки, причем последние имеют номер строки меньше предыдущей. Опять же, это беспорядочно и потребляет излишнюю память, предварительно загружая кучу невидимых строк.

У кого-нибудь есть элегантный способ сделать это? Я был бы чрезвычайно благодарен!

+1

Вы используете '.addView (View view)' для добавления представлений в ваш макет? Если да, вы можете использовать 'addView (View view, int index)', с индексом 0, чтобы добавить его в начало. – Marko

+0

Большое вам спасибо. Я совершенно не знал, что этот параметр существует. Он работает так, как я предполагаю. Идем дальше и отвечаем на вопрос, я буду отмечать его как правильный. – Kyle

+0

Вы более чем добро пожаловать. Вопрос может быть закрыт, потому что это дубликат вопроса [this] (http://stackoverflow.com/questions/8443480/android-how-to-add-view-at-start-of-layout). – Marko

ответ

2

Если вы используете addView(View view) раздувать вид на макете, вы можете использовать

addView(View child, int index) 

с индексом 0, чтобы добавить его к вершине.

Смежные вопросы