«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как программно добавить поля к кнопкам в LinearLayout?

Как программно добавить поля к кнопкам в LinearLayout?

Опубликовано 8 ноября 2024 г.
Просматривать:417

How to Programmatically Add Margins to Buttons in a LinearLayout?

Динамические поля в линейном макете

При разработке Android макеты играют решающую роль в организации и отображении элементов пользовательского интерфейса. Общим требованием к макетам является возможность указывать поля между элементами. Хотя XML предоставляет интуитивно понятный способ определения полей, разработчикам может потребоваться программное создание макетов для обеспечения гибкости или обработки динамического контента.

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

Решение заключается в использовании метода setMargins() объекта LinearLayout.LayoutParams. Этот метод позволяет указывать поля в пикселях для верхнего, правого, левого и нижнего краев представления.

LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
     LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);

layoutParams.setMargins(30, 20, 30, 0);

Button okButton=new Button(this);
okButton.setText("some text");
ll.addView(okButton, layoutParams);

В этом коде LinearLayout создается с вертикальной ориентацией. Затем инициализируется экземпляр LinearLayout.LayoutParams, определяющий ширину и высоту кнопок. Метод setMargins() вызывается для установки значений пикселей для желаемых полей, что в данном случае приводит к верхнему и левому полям по 30 пикселей и нижнему полю по 20 пикселей.

Наконец, создается кнопка, которой присваивается текстовая метка, и добавлен в LinearLayout с настроенным макетомParams. Этот подход программно определяет поля между кнопками, обеспечивая постоянный интервал и правильное расположение внутри LinearLayout.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3