Программирование в вопросах и ответах
У меня есть динамически-создаваемая кнопка. Мне нужно чтобы после ее создания она была после определенного элемента. В xml я делал это так: А как задать layout_alignLeft и layout_alignStar с помощью кода, например, в MainActivity.java? Ответ Программно это делается вот так:RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) button.getLayoutParams(); lp.leftMargin = (int) (yourMargin*getResources().getDisplayMetrics().scaledDensity); //или lp.setMarginStart((int) (yourMargin*getResources().getDisplayMetrics().scaledDensity)); button.setLayoutParams(lp); RelativeLayout. замените на тип вашего контейнера-родителя.scaledDensity - для корректного отображения на экранах с разными dpiUPD: Для определения взаиморасположения элементов в RelativeLayout делайте, например, так:lp.addRule(RelativeLayout.BELOW,firstView); (либо другой addRule(...))
Программно это делается вот так:RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) button.getLayoutParams(); lp.leftMargin = (int) (yourMargin*getResources().getDisplayMetrics().scaledDensity); //или lp.setMarginStart((int) (yourMargin*getResources().getDisplayMetrics().scaledDensity)); button.setLayoutParams(lp); RelativeLayout. замените на тип вашего контейнера-родителя.scaledDensity - для корректного отображения на экранах с разными dpiUPD: Для определения взаиморасположения элементов в RelativeLayout делайте, например, так:lp.addRule(RelativeLayout.BELOW,firstView); (либо другой addRule(...))
Комментариев нет:
Отправить комментарий