Несколько кнопок с одинаковой шириной, равной самой широкой кнопке - PullRequest
3 голосов
/ 17 ноября 2009

У меня есть несколько ButtonFields в VerticalFieldManager. По умолчанию ширина каждой кнопки зависит от текста, который она содержит.

Я бы хотел, чтобы все кнопки были одинаковой ширины - равной ширине самой широкой кнопки.

Ответы [ 3 ]

2 голосов
/ 21 сентября 2010

Взгляните на базу знаний разработчиков BlackBerry:
Как - реализовать расширенные кнопки, поля и менеджеры
Последнее обновление: 12 февраля 2010 г.
Номер статьи: DB-00796

Возможно, вы ищете VerticalButtonFieldSet!

1 голос
/ 15 октября 2010

Шаг 1 - Расширьте класс VerticalFieldManager и заставьте конструктор получить набор строк, которые вы хотите поставить в конце каждой кнопки.

Шаг 2 - Найдите самую длинную из строк, переданных в менеджер.

Шаг 3 - создать кнопку для самой длинной строки

Шаг 4 - создайте все остальные кнопки и установите их ширину равной 1-й (см. SetExtent)

Шаг 5 - добавьте кнопки в менеджер в том порядке, в котором вы хотите, чтобы они появлялись

FIN

0 голосов
/ 18 ноября 2009

Вы пытались использовать флаг стиля Field.USE_ALL_WIDTH?

Попробуйте ButtonField buttonField = new ButtonField("ButtonText", Field.USE_ALL_WIDTH);

и это должно использовать всю ширину.

Если это не сработает, попробуйте расширить ButtonField, переопределить макет и вызвать setExtent(width, height) с нужной шириной и высотой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...