我有一小段代码,当按下btnTest
按钮时,它会向现有表格添加一个新行(4列)。该新行的每个字段都填充“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);
最佳答案
我终于在这篇文章中找到了解决方案: Keeping Columns Aligned In All Rows In An Android Table
将其添加到 xlm 文件中的 table_layout 中:
android:shrinkColumns="*"
android:stretchColumns="*"
关于java - 在 Java 文件中创建时,表列分布不均匀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47252119/