кнопка ниже другой кнопки программно для Android - PullRequest
1 голос
/ 10 июня 2011

У меня есть в xml tis код:

<RelativeLayout 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/mainLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

    <Button
        android:id="@+id/examp1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/examp2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/examp1" />
</RelativeLayout>

Я хочу создать эти кнопки программно и использую:

RelativeLayout mainLayout;
mainLayout = (RelativeLayout) findViewById(R.id.mainLayout);

for (int i=0; i<1; i++)
{
     Button new_button = new Button(this);
     new_button.setText("blabla");
     new_button.setId(i);
     new_button.setLayoutParams(new LayoutParams(
                        ViewGroup.LayoutParams.WRAP_CONTENT,         
                        ViewGroup.LayoutParams.WRAP_CONTENT));

     mainLayout.addView(new_button);
}

Как мне перевести эту команду android:layout_below = "@ id / examp1" программно?

Ответы [ 2 ]

3 голосов
/ 10 июня 2011

Использование RelativeLayout.LayoutParams . Используйте addRule(), для вашего примера используйте его с RelativeLayout.BELOW и идентификатором (R.id.examp1)

2 голосов
/ 10 июня 2011

Здесь - пример того, как установить layout_below с помощью LayoutParams

...