1

我正在动态创建大约 50 个按钮。
文本设置如下:

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

&是按钮result的对象。DataTablebtn

现在的问题是一些按钮没有正确显示。

参考下面的截图,

在 img1 - 第一行之后显示了一个不必要的空白行。
在 img2 - 文本未居中对齐。
在 img3 中 - TATAMOTORS没有显示在单行中,即使按钮两侧都有空格。

请注意,我没有设置填充,这可能是造成这种情况的原因。

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

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

任何帮助表示赞赏...

截屏

4

4 回答 4

5

您可以设置按钮的重力来自定义文本的对齐方式。这是通过使用Gravity属性在按钮上公开的。从文档

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

您可以分配的值可以在GravityFlags 枚举中找到。例如:

button.Gravity = GravityFlags.Center;
于 2012-04-06T15:44:12.167 回答
1

可以使用 .setGravity(int) 设置按钮内容的对齐方式

于 2012-04-06T13:56:42.823 回答
0

在最初的问题中,我想知道源文本是否包含一些额外的空格字符?这将解释 img1 和 img2。

无论如何,我需要左对齐按钮中的文本,这使我进入了这个页面,这是我最终得到的解决方案,基于 Alix Bloom 的回答:

Button myButton = new Button(getActivity());
myButton(Gravity.LEFT);
于 2014-10-30T00:17:12.837 回答
0
Button myButton = new Button();
myButton.setGravity(Gravity.RIGHT);   //LEFT

希望这对您有所帮助。为我工作(我也为这个问题苦苦挣扎了一段时间)

于 2018-08-15T11:33:50.427 回答