Jump to content

Выравнивание компонентов как внутри формы, так и внутри контейнеров


Recommended Posts

Прежде чем разместить данный вопрос, я внимательно почитал имеющуюся документацию, посмотрел доступное видео, изучил примеры из раздела FGX Samples, в частности - выравнивание, но , к сожалению, так и не смог научиться эффективно выравнивать компоненты, как я это делал в FMX. Если я правильно понял, на форме, в AlignmentChildren обычно выставлено

 image.png.f3eb76410a95a5fe7f1d3b1f8ee4d699.png

в fgNavigatorBar выставлено

positionMode=relative

image.png.ecac6caec3e861a3730e5aa5098ba570.png

 

и он стоит правильно, аналогично fmx Align:=alMostTop

Далее выставляю аналогично fgLayout , но он не примыкает к верху, хотя свойства выставлены аналогично fgNavigationBar,

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

Link to comment
Share on other sites

  • Administrators

Добрый вечер,

Все правильно делаете. Вот настройки для вложенного контейнера:

image.png

Плюс не забываем у скролбокса поменять направление выравнивания со строки на столбец.

У скролбокса по умолчанию используется режим автоматического расчета размера контента на основании размеров вложенных компонентов. В вашем случае, ширина fgLayout зависит от ширины контента скроллбокса. В это же время ширина контента зависит от ширины вложенного Layout. Получается взаимообратная связь.  В результате чего смена настроек у Layout не приводит к перерасчету размера содержимого. Достаточно изменить размер формы и все встанет на свои места. В рантайме все так же будет автоматически вычислено.

P.S. Это ошибка, заведу в баг трекер. Но она не влияет на рантайм. (В дизайнере используйте woraround с принудительным изменением размера формы, это приведет к перевычислению контента скролбокса.

  • Like 1
Link to comment
Share on other sites

1 час назад, Yaroslav Brovin сказал:

P.S. Это ошибка, заведу в баг трекер. Но она не влияет на рантайм. (В дизайнере используйте woraround с принудительным изменением размера формы, это приведет к перевычислению контента скролбокса.

теперь понимаю о чем это вы

 

1 час назад, Yaroslav Brovin сказал:

Плюс не забываем у скролбокса поменять направление выравнивания со строки на столбец.

да, так и делаю, но все же, не помешает создать более подробную инструкцию по выравниванию во всех ракурсах, в остальном, пока не вижу других препятствий, тот же object pascal, много разных фишек и примочек, о которых в FMX даже не позаботились, в целом, пока изучаю на trial , мне нравится, но в выравнивании пока плаваю, что немаловажно (о чем в классическом дельфи даже не задумываюсь)

Link to comment
Share on other sites

12 часов назад, Viktor Akselrod сказал:

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

спасибо прочитал. поиграл во фроги )))) Понимания и уверенности стало немного больше

  • Like 1
Link to comment
Share on other sites

В целом, выравнивание стало более понятным,  но все-таки, хотелось бы понять точнее, что делают эти 3 свойства и в каких случаях их надо использовать ?

image.thumb.png.50a801d7b2a2ee56ebbc4bfa4e755f2d.png

в примерах, FlexGrow , либо 0 либо 1 других значений не видел

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

Link to comment
Share on other sites

  • Administrators

FlexGrow - это вес. Если компонентов несколько, то в зависимости от значения веса их размер будет пропорционально вычислен. Например, хотим две кнопки:

  1. Первая, чтобы занимала треть контейнера (FlexGrow = 1)
  2. Вторая - 2/3 (FlexGrow = 2)

FlexShrink - Противоположное свойство FlexGrow. Только отвечает за ситуацию, когда компонент сжимается.

FlexBasis - Это базовый размер компонента. Например, если вы используете сжатие или растяжение, то вы можете принудительно указать какой ширины компонент по умолчанию.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...