кнопка под другой кнопкой программно для Android

#android #button #position

#Android #кнопка #положение

Вопрос:

у меня есть в xml этот код:

 <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″ программно?

Комментарии:

1. Я имел в виду, что когда вы задаете вопрос, и когда кто-то отвечает на ваш вопрос, и если это подходит для вашего вопроса, вам придется принять этот ответ. Чтобы пользователям было интересно ответить на ваш вопрос.

2. Спасибо, Андро .. я последую вашему совету

Ответ №1:

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

Комментарии:

1. Итак, я должен поместить каждую кнопку в отдельный макет, затем использовать addRule, а затем добавить каждую кнопку в макет?

2. Что вы хотите сделать? Если вы хотите расположить кнопки одну под другой, тогда используйте LinearLayout с вертикальной ориентацией. Если вы все еще хотите сделать это с помощью RelativeLayout, вам нужно сделать это с помощью метода addRule () над тем же RelativeLayout, нет необходимости размещать каждую кнопку в отдельном макете.