Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:在编程添加的按钮中居中显示文本_Android_Android Layout - Fatal编程技术网

Android:在编程添加的按钮中居中显示文本

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

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


它不是垂直居中的,所以试试看

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