Android:在编程添加的按钮中居中显示文本
我试图以编程方式在自定义视图实现中添加一个按钮。应用程序是API 15+。 在这里,我面临着按钮文本未居中的问题。这听起来微不足道,但它不起作用。下面是有问题的代码。输出为Android:在编程添加的按钮中居中显示文本,android,android-layout,Android,Android Layout,我试图以编程方式在自定义视图实现中添加一个按钮。应用程序是API 15+。 在这里,我面临着按钮文本未居中的问题。这听起来微不足道,但它不起作用。下面是有问题的代码。输出为 它不是垂直居中的,所以试试看 mSubmit.setGravity(Gravity.CENTER_VERTICAL); 也可能是按钮的一些自定义背景设置不正确——从图像上看不太清楚 注意:您在布局参数上设置的重力与在按钮上设置的重力完全不同。addContentView对我有效 LinearLayout.LayoutPa
它不是垂直居中的,所以试试看
mSubmit.setGravity(Gravity.CENTER_VERTICAL);
也可能是按钮的一些自定义背景设置不正确——从图像上看不太清楚
注意:您在布局参数上设置的重力与在按钮上设置的重力完全不同。
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);
为按钮的所有侧面设置相等的填充: 例如: 之前: 添加填充后:
这是一个自定义视图。自定义视图中没有addContentView调用。mSubmit.setGravity(Gravity.CENTER);
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);
myButton.setPadding(2,2,2,2);