Android: проблема позиционирования кнопок с помощью RelativeLayout - PullRequest
0 голосов
/ 09 апреля 2011

Я хочу иметь это: B1 должен быть под B0.B2 должен быть прав на B1.Например:

B0
B1 B2

Но мой код выдает следующее:

B0 B2
B1

Что не так с этим кодом?:


RelativeLayout xml_layout = (RelativeLayout) findViewById(R.id.custom_layout_id);

Button[] b_test  = new Button[4];

b_test[1] = new Button(getContext());
b_test[1].setId(1);
b_test[1].setText("B0");
RelativeLayout.LayoutParams lp0 = new RelativeLayout.LayoutParams(70,70);
lp0.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
xml_layout.addView(b_test[1], lp0);

b_test[2] = new Button(getContext());
b_test[2].setId(2);
b_test[2].setText("B1");
RelativeLayout.LayoutParams lp1 = new RelativeLayout.LayoutParams(70,70);
lp1.addRule(RelativeLayout.BELOW, b_test[1].getId());
xml_layout.addView(b_test[2], lp1);

b_test[3] = new Button(getContext());
b_test[3].setId(3);
b_test[3].setText("B2");
RelativeLayout.LayoutParams lp2 = new RelativeLayout.LayoutParams(70,70);
lp2.addRule(RelativeLayout.RIGHT_OF, b_test[2].getId());
xml_layout.addView(b_test[3], lp2);

1 Ответ

1 голос
/ 09 апреля 2011

Добавьте следующую строку:

lp2.addRule(RelativeLayout.BELOW, b_test[1].getId());

и все должно быть готово.

...