2012-01-02 4 views
1

В принципе, у меня есть эта структура компоновки: <RelativeLayout> <RelativeLayout> <TextView /> </RelativeLayout> <ScrollView> <RelativeLayout> ... </RelativeLayout> </ScrollView> </RelativeLayout> и я хочу добавить кнопку программно. Эта кнопка должна находиться внутри <RelativeLayout>, которая находится внутри <ScrollView>. Кроме того, мне нужно, чтобы он был привязан к нижней и CENTER_VERTICAL. Я бы очень признателен за любые подсказки/примеры;) Спасибо! P.S. Хотя, есть много подобных вопросов в stackoverflow, ни один из ответов не помог мне ...Добавить кнопку программно с параметрами?

+1

выберите XML и нажмите CTRL + SHIFT + K для форматирования кода, так что это будет хорошо выглядит. –

ответ

7

Сначала вам нужно указать свой относительный макет в XML ID: android:id="@+id/myLayout". Затем в Java-код:

Button b = new Button(this); 
RelativeLayout.LayoutParams rl = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
rl.addRule(RelativeLayout.ALIGN_BOTTOM); 
b.setLayoutParams(rl); 
((RelativeLayout) findViewById(R.id.myLayout)).addView(b); 
+0

Большое вам спасибо! Я также добавил 'params.bottomMargin = 20;' для более приятного просмотра и изменения моего .xml-файла, потому что RelativeLayout там был WRAP_CONTENT, и было невозможно выровнять мою кнопку внизу. – lomza

+0

Мне также было интересно, могу ли я сказать «программно», что созданная кнопка должна быть ниже некоторого «TextView», например? Благодарю. – lomza

+2

Уверен, что вы можете: 'rl.addRule (RelativeLayout.BELOW, R.id.textview01);' – Thommy

Смежные вопросы