Например, я хочу добавить на экран 3 кнопки: одну по левому краю, одну по центру, последнюю по правому краю.
Как я могу установить их макет в коде, а не в xml
?
Например, я хочу добавить на экран 3 кнопки: одну по левому краю, одну по центру, последнюю по правому краю.
Как я могу установить их макет в коде, а не в xml
?
Простой пример:
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE);
Button button1;
button1.setLayoutParams(params);
params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.RIGHT_OF, button1.getId());
Button button2;
button2.setLayoutParams(params);
Как видите, это то, что вам нужно сделать:
RelativeLayout.LayoutParams
объект.addRule(int)
или, addRule(int, int)
чтобы установить правила. Первый метод используется для добавления правил, не требующих значений.
ViewGroup.LayoutParams
. Если хотите короче, просто добавьте импорт, который включаетRelativeLayout.LayoutParams
.источник
Что-то вроде этого..
источник
Как насчет того, чтобы просто вытащить параметры макета из самого представления, если вы его создали.
источник
Я надеюсь, что приведенный ниже код поможет. Он создаст EditText и кнопку входа в систему. Оба размещены относительно. Все сделано в MainActivity.java.
источник