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

Java 在TableLayout中以编程方式将文本放置在按钮的中心,java,android,Java,Android,这是我的代码片段。如何将按钮内的文本居中?请帮忙 TableLayout.LayoutParams tableRowParams= new TableLayout.LayoutParams (TableLayout.LayoutParams.MATCH_PARENT,TableLayout.LayoutParams.WRAP_CONTENT); tableRowParams.setMargins(10, 20

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

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);

图像:

像在XML中一样使用重力场

button.Gravity = GravityFlags.Center;

你所要做的就是移除按钮的左右填充物,它应该可以工作

删除此线或使左右相等

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

???! 按钮已将其文本放置在中心位置。你什么都不用做。它在左角对齐。添加了图片。看起来
b
是文本视图,而不是按钮。b是按钮而不是文本view@Jarrod罗伯逊:这不是重复,因为他尝试了你提到的重复问题中建议的答案,但问题仍然存在。正如我在下面的回答中所写,他的问题在其他地方,在填充上。我正在动态生成按钮,但不起作用?无法将文本与中心对齐为什么要再次将表格布局添加到按钮?是的。成功了,谢谢:)