Столбцы таблицы распределяются неравномерно при создании в 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="*"