Android:以编程方式添加Button中心文本

时间:2015-02-12 16:24:38

标签: android android-layout

我正在尝试在自定义视图实现中以编程方式添加按钮。应用程序是API 15+。 在这里,我面临的问题是按钮文本没有居中。这听起来微不足道,但它无法正常工作。以下是有问题的代码。输出

submit button

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
params.gravity = Gravity.CENTER;
mSubmit = new Button(mContext);
mSubmit.setTextColor(Color.WHITE);
mSubmit.setText("Submit");
mSubmit.setTextSize(getResources().getDimension(R.dimen.headertxt));
addView(mSubmit, params);

3 个答案:

答案 0 :(得分:1)

addContentView为我工作了!

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
params.gravity = Gravity.CENTER;
mSubmit = new Button(mContext);
mSubmit.setTextColor(Color.WHITE);
mSubmit.setText("Submit");
mSubmit.setTextSize(getResources().getDimension(R.dimen.headertxt));
addContentView(mSubmit, params);

答案 1 :(得分:1)

为按钮的所有边设置相等的填充:

例如:

 myButton.setPadding(2,2,2,2);

在:

Before

添加填充后:

enter image description here

答案 2 :(得分:-1)

它没有垂直居中,所以请尝试

mSubmit.setGravity(Gravity.CENTER_VERTICAL);

对于未正确设置的按钮,也可能是某些自定义背景 - 从图像中看不太清楚。

请注意:您在布局参数上设置的重力与您在按钮上设置的重力完全不同。