2012-04-06 127 views
0

我正在动态地创建一些50按钮。如随后
文本是越来越设置:以编程方式设置按钮对齐方式

btn.Text=result.Rows[i]["Col1"].ToString()+"\n"+result.Rows[i]["Col2"].ToString() 
+"\n"+result.Rows[i]["Col3"].ToString(); 

其中resultDataTable & btn为按钮目标。

现在的问题是一些按钮没有得到适当的显示。

参照下面的截图,

在IMG1

- 第一行之后,得到显示的不必要的空行。
in img2 - 文本不居中对齐。
in img3 - TATAMOTORS即使在按钮的任一侧有空间,也不会以单行显示。

请注意,我是未设置填充这可能是此原因。

任何想法如何解决这个问题?
另外,如何设置按钮的文本对齐方式以编程方式

我知道这不是最好的问题,但花了数小时后,我无法破解它。

任何帮助表示赞赏...

Screen shot

回答

3

您可以设置按钮的重力来定制如何设置文本是对齐的。这通过使用Gravity属性在按钮上显示。从docs

设置文本,当存在超出所需的文本本身TextView的额外空间将用于垂直重力的水平对齐方式。

您可以分配的值可在​​中找到。例如:

button.Gravity = GravityFlags.Center; 
+0

试过 - 但它没有任何效果。我仍然得到如上图所示的输出。 – GAMA 2012-04-07 04:32:00

1

按钮含量对比可以与.setGravity(INT)

+0

Tried-但它不”没有任何作用。我仍然得到如上图所示的输出。 – GAMA 2012-04-07 04:32:11

1

在原来的问题,我不知道如果源文本包含一些额外的空格字符?这将解释img1和img2。

无论如何,我需要左对齐在按钮上的文字使我这个页面,这里是我结束了该解决方案的基础上,阿利克斯布鲁姆的回答是:

Button myButton = new Button(getActivity()); 
myButton(Gravity.LEFT);