Перейти к содержанию
Fire Monkey от А до Я
  • 0

[Android] Не получается увеличить высоту TProgressBar


Brovin Yaroslav

Вопрос

  • Администраторы
Добрый вечер
 
Не получается увеличить высоту TProgressBar в Delphi XE5 при разработке под Android, однако при создании приложения для Windows все изменяется.
  1. Так и должно быть или у меня что-то нет так?
  2. Посоветуйте как исправить.

// Не увеличивается ширина ProgressBar'a (Delphi XE5 разработка под Android)

Ссылка на комментарий

Рекомендуемые сообщения

  • 0
  • Администраторы

По умолчанию, каждая платформа определяет свои правила оформления пользовательского интерфейса, согласно Руководству пользовательского интерфейса Андроида TProgressBar не может быть по высоте другого размера. Поэтому стиль андроид платформы в Firemonkey запрещает изменять высоту некоторых контролов, в том числе TProgressBar. Аналогичная ситуация в Eclipse для андроида. Там также нельзя менять для этого компонента его высоту.

 

Фиксация размера происходит путем сохранения в стиле свойств FixedHeight  и FixedWidth (не доступного в дизайнере). Если эти свойства больше 0, значит контрол будет иметь фиксированный размер.

 

Решение

Если вы вдруг захотели нарушить стандарты, рекомендованные Google по оформлению UI, вы можете сделать следующее:

1. Открыть BitmapStyleDesigner (находится в папке bin студии bin\BitmapStyleDesigner.exe)

 

2. В выпадающем списке первой кнопки на панели инструментов Создать новый стиль (светлый или темный) для платформы андроид. Редактор автоматически создаст вам стандартный стиль для андроида.

post-1-0-39079200-1389973679_thumb.jpg

 

3. Сохранить стиль для Firemonkey. В диалоге сохранения выбрать тип файла "FireMonkey Style (*.style)"

post-1-0-88983200-1389973927.jpg

 

4. Открыть сохраненный файл стиля в текстовом редакторе и найти в нем стиль TProgressBar - "progressbarstyle".

post-1-0-78011200-1389974022.jpg

 

5. Удалить из стиля строчку:

FixedHeight = 10

6. Сохранить стиль и загрузить файл стиля в TStyleBook.

post-1-0-67130300-1389974141.jpg

 

Теперь для TProgressBar можно менять высоту. Однако, учтите, что стили для Андроид и iOS растровые. Это значит, что при растровое исходное изображение прогресс бара рассчитано на высоту в 10 пикселей и при увеличении высоты, вы потеряете качество отрисовки прогресс бара (смотрите рисунок выше).

Ссылка на комментарий
  • 0
  • Администраторы

В новой версии студии RAD Studio Berline, дизайнер стилей TStyleBook теперь показывает эти два свойства для каждого стилевого компонента.

Таким образом открыв стиль в TStyleBook, вы можете сбросить значения этих свойств для снятия ограничений. Или же поменять их на свои.

Ссылка на комментарий
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...