Cześć, nie rozumiem dlaczego nie ustawia mi się parametr weight. Mam coś takiego:
final static int WEIGHT = 1;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game);
Intent intent = getIntent();
int boardSize = intent.getIntExtra(MainActivity.BOARD_SIZE, 3);
GridLayout gridLayout = (GridLayout) findViewById(R.id.content);
gridLayout.setColumnCount(boardSize);
gridLayout.setRowCount(boardSize);
Button[][] buttons = new Button[boardSize][boardSize];
for(int i=0; i < gridLayout.getColumnCount(); i++){
for(int j = 0; j< gridLayout.getRowCount(); j++){
GridLayout.LayoutParams params = new GridLayout.LayoutParams();
buttons[i][j] = new Button(this);
buttons[i][j].setText(i + ", " + j);
params.height = GridLayout.LayoutParams.WRAP_CONTENT;
params.width = GridLayout.LayoutParams.WRAP_CONTENT;
params.columnSpec = GridLayout.spec(i, WEIGHT);
params.rowSpec = GridLayout.spec(j, WEIGHT);
buttons[i][j].setLayoutParams(params);
gridLayout.addView(buttons[i][j]);
}
}
}
Tymczasem efekt wygląda tak:
Użytkownik podaje wielkość planszy po czym na tej podstawie jest ona tworzona. Chciałbym aby buttony były w kształcie kwadrata tzn. wysokość = szerokość, ale na razie próbuję z parametrem weight.