Столбцы таблицы распределяются неравномерно при создании в Java-файле

У меня есть небольшой фрагмент кода, который добавляет новую строку (4 столбца) к существующей таблице при нажатии btnTest-Кнопка. Каждое поле этой новой строки заполнено "0". Однако столбцы добавленных строк распределяются неравномерно (столбцы уменьшаются по направлению к правой стороне экрана). Я уже создал первую строку этой таблицы в файле макета, и эта первая строка равномерно распределена. Есть ли способ разнести строки в Java-коде (например, setLayoutWeight или что-то)?

    btnTest=(Button)findViewById(R.id.btnTest);
    btnTest.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            tr = new TableRow(ScoreScreen.this);

            tvScore1 = new TextView(ScoreScreen.this);
            tvScore2 = new TextView(ScoreScreen.this);
            tvScore3 = new TextView(ScoreScreen.this);
            tvScore4 = new TextView(ScoreScreen.this);

            tvScore1.setText("0");
            tvScore1.setTextSize(25);
            tvScore1.setGravity(Gravity.CENTER);
            tvScore1.setTextColor(Color.WHITE);

            tvScore2.setText("0");
            tvScore2.setTextSize(25);
            tvScore2.setGravity(Gravity.CENTER);
            tvScore2.setTextColor(Color.WHITE);
            tvScore3.setText("0");
            tvScore3.setTextSize(25);
            tvScore3.setGravity(Gravity.CENTER);
            tvScore3.setTextColor(Color.WHITE);
            tvScore4.setText("0");
            tvScore4.setTextSize(25);
            tvScore4.setGravity(Gravity.CENTER);
            tvScore4.setTextColor(Color.WHITE);

            tr.addView(tvScore1);
            tr.addView(tvScore2);
            tr.addView(tvScore3);
            tr.addView(tvScore4);

            t2.addView(tr);
        }
    });

    t2=(TableLayout)findViewById(R.id.t2);
    t2.setColumnStretchable(0, true);
    t2.setColumnStretchable(1, true);

1 ответ

Я наконец нашел решение в этом посте: выравнивание столбцов во всех строках таблицы Android

добавьте это к table_layout в xlm-файле:

android:shrinkColumns="*"
android:stretchColumns="*"
Другие вопросы по тегам