Android разные способы добавления LayoutParams - PullRequest
0 голосов
/ 25 сентября 2011

Я заметил, что есть два способа программно добавить LayoutParams к любому представлению, и мне любопытно спросить, имеют ли они также разные значения.

Пример 1

В этом примере непосредственная настройка LayoutParamsна кнопку.

LinearLayout parent = new LinearLayout(this);
Button btnNew = new Button(this);
LayoutParams params = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
button.setLayoutParams(params);
parent.addView(btnNew);

Пример 2

В этом примере добавление макетов к кнопке при ее добавлении в родительское представление.

LinearLayout parent = new LinearLayout(this);
Button btnNew = new Button(this);
LayoutParams params = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
parent.addView(btnNew, params);

Что отличается в обоих?

1 Ответ

0 голосов
/ 25 сентября 2011

Разницы нет.Если вы проверяете исходный код Android, он указывает, что, если параметры макета не указаны, устанавливаются параметры по умолчанию для группы представлений.Когда вы используете метод

addView(child,params);

, он вызывает другой метод с именем addViewInner, который просто устанавливает объект params для дочернего объекта.

Исходный код из ViewGroup.java можно посмотреть здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...