Как создать таблицу, заполненную кнопками для Android - PullRequest
1 голос
/ 17 января 2012

У меня простая проблема для Android. Я хотел бы создать таблицу n-n, заполненную кнопками. Сначала я хочу вычислить минимум ширины и высоты экрана (просто потому, что я хочу полностью отобразить свою таблицу на экране). У меня есть следующий код:

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth();
int height = display.getHeight();
int min = Math.min(width, height);
int buttonSize = (int)Math.floor(min / dimension);

TableLayout rootLayout = (TableLayout)this.findViewById(R.id.tableLayout1);

for (int i = 0; i < dimension; ++i)
{
  LinearLayout lLayout = new LinearLayout(this);
  lLayout.setOrientation(0);
  rootLayout.addView(lLayout);

  for (int j = 0; j < dimension; ++j)
  {
    Button b = new Button(this);
    b.setText("-");
    b.setPadding(0, 0, 0, 0);
    b.setWidth(buttonSize);
    b.setHeight(buttonSize);

    lLayout.addView(b);
  }
}

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

Любая помощь очень ценится.

1 Ответ

1 голос
/ 17 января 2012

Я бы также установил LinearLayout.LayoutParams для каждой кнопки? Дайте ему шанс ...

b.setLayoutParams(
    new LinearLayout.LayoutParams(width, height)
);
...