在Java文件中创建时,表列不均匀分布

时间:2017-11-12 18:03:08

标签: java android xlm

我有一小段代码,在按下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);

1 个答案:

答案 0 :(得分:0)

我终于在这篇文章中找到了一个解决方案: Keeping Columns Aligned In All Rows In An Android Table

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

android:shrinkColumns="*"
android:stretchColumns="*"