2012-04-06 2 views
0

Я создаю около 50 кнопок динамически.
Текст становится установлен как следует:Программирование программной настройки кнопки

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

где result является DataTable & btn является объектом для кнопки.

Теперь проблема в том, что некоторые из кнопок не отображаются надлежащим образом.

Ссылаясь на скриншоте ниже,

в Img1 - ненужная пустая строка отображается после получения первой строки.
in img2 - текст не выровнен по центру.
in img3 - TATAMOTORS не отображается в отдельной строке, хотя есть пространство по обе стороны от кнопки.

Обратите внимание, что я , не устанавливая прокладку, что может быть причиной этого.

Любая идея, как решить эту проблему?
Кроме того, можно настроить выравнивание текста кнопки ?

Я знаю, что это не лучший вопрос, но, потратив на это часы, я не могу взломать его.

Любая помощь приветствуется ...

Screen shot

ответ

3

Вы можете установить гравитацию кнопки для настройки, как текст выравнивается. Это отображается на кнопке, используя свойство Gravity. Из docs:

Устанавливает горизонтальное выравнивание текста и вертикальной силы тяжести, которая будет использоваться, когда имеется дополнительное пространство в TextView сверх того, что требуется для самого текста.

Значения, которые вы можете назначить, находятся в GravityFlags enum. Например:

button.Gravity = GravityFlags.Center; 
+0

Tried- Но это не имеет никакого эффекта. Я все еще получаю вывод, как показано на скриншоте выше. – GAMA

1

Выравнивание содержимого кнопки можно установить с помощью .setGravity (INT)

+0

Tried- Но это Безразлично» t имеют какой-либо эффект. Я все еще получаю вывод, как показано на скриншоте выше. – GAMA

1

В исходном вопросе возникает вопрос, содержит ли исходный текст лишние символы пробела? Это объясняет img1 и img2.

Во всяком случае, моя необходимость выравнивания влево текст кнопки привел меня на эту страницу, и вот решение, которое я закончил с, на основе ответа Аликс Блума:

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

 Смежные вопросы

  • Нет связанных вопросов^_^