在TableLayout中以编程方式将文本放在按钮的中心

时间:2016-03-18 16:03:03

标签: java android

这是我的代码段。如何将按钮内的文本居中?请帮忙?

TableLayout.LayoutParams tableRowParams=
                new TableLayout.LayoutParams
                     (TableLayout.LayoutParams.MATCH_PARENT,TableLayout.LayoutParams.WRAP_CONTENT);
       tableRowParams.setMargins(10, 20, 10,2);
        tableRowParams.gravity = Gravity.CENTER;
        row.setLayoutParams(tableRowParams);

        b.setLayoutParams(new TableRow.LayoutParams(120, 100));
        b.setId(100 + i);
        b.setPadding(1, 10, 50, 10);
        b.setBackgroundColor(Color.parseColor("#0080ff"));
        b.setTextColor(Color.parseColor("#ffffff"));
        b.setText("log");
        b.setGravity(Gravity.CENTER_HORIZONTAL);
        b.setAllCaps(false);

        row.addView(b);

图片:enter image description here

2 个答案:

答案 0 :(得分:1)

您所要做的就是删除按钮的左右填充,它应该可以工作。

删除此行或左右相等

b.setPadding(1, 10, 50, 10);

答案 1 :(得分:0)

像在XML中一样使用重力场

button.Gravity = GravityFlags.Center;