Невозможно отобразить все кнопки в TableLayout

Я программно создаю кнопки на экране. Это мой код.

       TableLayout MainLayout = new TableLayout(this);
    MainLayout.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.MATCH_PARENT));
    //MainLayout.setStretchAllColumns(true);

    for ( int i =0 ; i < gridSize ; i++){
        rowArr[i] = new TableRow(this);
        for(int j = 0; j < gridSize ; j++){

            Button button = new Button(this);
            button.setText(Integer.toString(i)+","+Integer.toString(j));
            button.setTextSize(150/gridSize);
            button.setMaxHeight(450/gridSize);
            button.setMaxWidth(600/gridSize);
            rowArr[i].addView(button);

        }
        MainLayout.addView(rowArr[i]);
    }

введите здесь описание изображения

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

Эта проблема возникает только после установки для моего gridSize значения 6 или более.


person tr_quest    schedule 08.05.2013    source источник
comment
Вы записали нашу рассчитанную ширину и реальную ширину кнопок? Похоже, что ширина больше, чем должна быть.   -  person sandkasten    schedule 08.05.2013
comment
нет, я не. Я не знаю, как использовать журнал   -  person tr_quest    schedule 08.05.2013
comment
Взгляните на документацию: developer.android.com/reference/android/util /Log.html Используйте журнал следующим образом: Log.w(WIDGET,Enable вызывается);   -  person sandkasten    schedule 08.05.2013
comment
gridSize является константой. это 6   -  person tr_quest    schedule 08.05.2013
comment
Откуда вы взяли этот gridSize? Я не могу найти это в вашем коде, опубликованном выше...   -  person sandkasten    schedule 13.05.2013
comment
Я объявил это как константу. Я не включил это объявление здесь.   -  person tr_quest    schedule 13.05.2013


Ответы (1)


Я смог увидеть 6-ю строку на своем эмуляторе. Думаю, проблема была в ширине телефона.

person tr_quest    schedule 13.05.2013