У меня есть относительный макет, который я создаю программно:
RelativeLayout layout = new RelativeLayout( this );
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT);
Теперь у меня есть две кнопки, которые я хочу добавить в этот относительный макет. Но проблема в том, что обе кнопки отображаются слева от RelatiiveLayout, перекрывая друг друга.
buttonContainer.addView(btn1);
buttonContainer.addView(btn2);
Теперь я хочу знать, как я могу программно установить атрибут android:layout_alignParentRight="true
"или android:layout_toLeftOf="@id/btn"
" кнопок, как мы делаем в xml?
button
наRecycleView
? Разве это не проблема добавления одинаковых или противоположных правил к одному и тому же виджету?addRule
?btn1.setId(1);
addRule()
, проверить документы Java для Android для этогоLayoutParams
объекта.источник
Для добавления
RelativeLayout
атрибута со значением true или false используйте0
false иRelativeLayout.TRUE
для true:Неважно, был ли атрибут уже добавлен, вы все равно используете его
addRule(verb, subject)
для включения / выключения. Тем не менее, после API 17 вы можете использоватьremoveRule(verb)
это просто ярлыкaddRule(verb, 0)
.источник
Котлин версия:
Используйте эти расширения с инфиксными функциями, которые упрощают последующие вызовы
Затем используйте их как вызовы инфиксных функций:
Или вы можете использовать их как обычные функции:
источник