以编程方式设置按钮对齐

时间:2012-04-06 11:09:14

标签: android button xamarin.android

我动态创建了50个按钮 文本设置如下:

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

其中resultDataTable& btn是按钮的对象。

现在问题是某些按钮无法正确显示。

参考下面的截图,

img1中的

- 在第一行之后显示不必要的空白行 在img2中 - 文本不是居中对齐的 在img3 - TATAMOTORS 中,即使按钮两侧有空格,也不会以单行显示。

请注意,我没有设置填充,这可能就是原因。

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

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

任何帮助表示赞赏......

Screen shot

4 个答案:

答案 0 :(得分:3)

您可以设置按钮的重力以自定义文本的对齐方式。通过使用Gravity属性在按钮上显示此内容。来自docs

  

设置文本的水平对齐方式以及当TextView中有额外空间时将使用的垂直引力超出文本本身所需的范围。

您可以指定的值可在GravityFlags enum中找到。例如:

button.Gravity = GravityFlags.Center;

答案 1 :(得分:1)

可以使用.setGravity(int)

设置按钮内容的对齐方式

答案 2 :(得分:1)

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

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

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

答案 3 :(得分:0)

Button myButton = new Button();
myButton.setGravity(Gravity.RIGHT);   //LEFT

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