2012-04-06 108 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); 
相關問題