Parametr weight w gridLayout

0

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:

d1038bbfcf.png

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.

0

pobierz wysokość i ustaw w LayoutParams jako szerokość albo odwrotnie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1