Как добавить представление в начало линейного макета в коде? - PullRequest
14 голосов
/ 25 ноября 2011

Мне нужно добавить AdMob AdWord в линейный макет в коде, но мне нужно вставить его в верхней части макета, а не внизу.

Есть ли способ сделать это?

Ответы [ 2 ]

35 голосов
/ 25 ноября 2011

Использование:

public void addView (View child, int index) Так как: API Level 1

Добавляет дочернее представление.Если никакие параметры макета для дочернего элемента уже не заданы, параметры этого ViewGroup по умолчанию устанавливаются для дочернего элемента.Параметры child дочернего представления для добавления индекса: позиция, в которой необходимо добавить дочерний элемент

3 голосов
/ 25 ноября 2011

Я тоже пытался это сделать, но, используя только LinearLayout, он всегда добавлял вид внизу, независимо от того, какой index я передал addView.

Я завернул1006 * в RelativeLayout, тогда вы делаете это:

relativeLayout.addView(adView);
adView.setId(12345678);
RelativeLayout.LayoutParams llParams = (RelativeLayout.LayoutParams)linearLayout.getLayoutParams();
llParams.addRule(RelativeLayout.BELOW, adView.getId());

Это работает для меня.

...