Когда вы устанавливаете поля в XML, это выглядит следующим образом:
android:layout_margin="16dp"
Любой атрибут с префиксом layout_
фактически будет атрибутом объекта LayoutParams
этого представления.Это имеет смысл: работа LayoutParams
состоит в том, чтобы общаться с родительским представлением о том, как ребенок хочет быть выложенным, и поля являются частью этого процесса.
Метод setMargins()
является частьюViewGroup.MarginLayoutParams
класс.Большинство стандартных ViewGroup
используют это (например, LinearLayout.LayoutParams
и т. Д.).Таким образом, вы можете сделать что-то вроде этого:
MarginLayoutParams params = (MarginLayoutParams) eText.getLayoutParams();
params.setMargin(16, 16, 16, 16);
eText.setLayoutParams(params);
Обязательно позвоните setLayoutParams()
, когда вы закончите настройку полей, иначе ваши обновления не вступят в силу.