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

Вопрос по компонентам


AndroidHalfNoob

Вопрос

Подскажите есть ли какой то компонент или контейнер в который можно было бы "набросать" компоненты и этот контейнер пролистывался бы вверх-вниз? а то ситуация такая что в вертикальном положении все компоненты на форме видна, а если перевернуть телефон горизонтально, то меняется положение и кнопка, что в самом низу улетает за экран и ее не нажать. Вот у ListView если программно добавляешь элементы то автоматом появляется прокрутка. есть ли подобный контейнер чтобы проматывались компоненты размещенные на форме а не программно созданные?

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

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

  • 0
  • Модераторы

TPresentedScrollBox умеет такое, правда размещением компонентов и пересчет позиции компонентов нужно предусмотреть самому.

Могу завтра скинуть пример, недавно для себя делал

Ссылка на комментарий
  • 0
9 часов назад, ZuBy сказал:

TPresentedScrollBox умеет такое, правда размещением компонентов и пересчет позиции компонентов нужно предусмотреть самому.

Могу завтра скинуть пример, недавно для себя делал

да. было бы неплохо.

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

Ну, для начала прежде чем делать скролл, сделать резиновую верстку с помощью TLayout и свойства Align у всех компонентов
И только потом часть интерфейса сделать скроллируемым
Я для этого обычно кладу элементы на ListBox

Ссылка на комментарий
  • 0
  • Модераторы
1 минуту назад, krapotkin сказал:

Ну, для начала прежде чем делать скролл, сделать резиновую верстку с помощью TLayout и свойства Align у всех компонентов
И только потом часть интерфейса сделать скроллируемым
Я для этого обычно кладу элементы на ListBox

а как вы сделаете пересчёт позиции если сменилась ориентация? пересоздавать будете компоненты или менять парентов?

проще позиции им поменять, посмотрите в примере который я дал выше.

Ссылка на комментарий
  • 0
3 часа назад, ZuBy сказал:

Вот так делал для себя

PresentedButtonsRecalPosition.7z

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

Изменено пользователем AndroidHalfNoob
Ссылка на комментарий
  • 0
  • Модераторы

достаточно просто добавить событие OnTap(для мобильных), OnClick(десктопы) к компоненту и через Sender и Tag различать их

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

поковырялся с примером

положил на форму PresentedScroll, на Scroll положил FlowLayout, на OnResize код создания кнопок без всяких расчетов.

только нужно после создания кнопок правильно выставить  FlowLayout.Height

вроде работает одинаково

Изменено пользователем krapotkin
Ссылка на комментарий
  • 0
  • Модераторы
6 минут назад, krapotkin сказал:

поковырялся с примером

положил на форму PresentedScroll, на Scroll положил FlowLayout, на OnResize код создания кнопок без всяких расчетов.

только нужно после создания кнопок правильно выставить  FlowLayout.Height

вроде работает одинаково

возможно так и есть, но я никогда ими не пользовался и не собираюсь, там есть какой-то тупой компонент с процентами. бред полный...

у меня это все в хелпере для TPResentedScrollBox, удобно да и под контролем

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

upd. не. вру.
из-за необходимости  выравнивать разномерные  компоненты там запутанный многопроходный процесс.

происходит медленнее

ручные расчеты рулят

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

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...