1

我有一小段代码,当按下btnTest-Button 时,它会在现有表中添加一个新行(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);
4

1 回答 1

0

我终于在这篇文章中找到了一个解决方案: 在 Android 表中的所有行中保持列对齐

将此添加到 xlm 文件中的 table_layout:

android:shrinkColumns="*"
android:stretchColumns="*"
于 2017-11-12T19:32:15.633 回答