Аскар Джакишев Posted February 8, 2024 Posted February 8, 2024 Прежде чем разместить данный вопрос, я внимательно почитал имеющуюся документацию, посмотрел доступное видео, изучил примеры из раздела FGX Samples, в частности - выравнивание, но , к сожалению, так и не смог научиться эффективно выравнивать компоненты, как я это делал в FMX. Если я правильно понял, на форме, в AlignmentChildren обычно выставлено : в fgNavigatorBar выставлено : positionMode=relative и он стоит правильно, аналогично fmx Align:=alMostTop Далее выставляю аналогично fgLayout , но он не примыкает к верху, хотя свойства выставлены аналогично fgNavigationBar, что я делаю не так и может ли кто-нибудь как ребенку, на пальцах, объяснить как выставлять свойства Alignment, чтобы все компоненты примыкали как надо. Quote
Аскар Джакишев Posted February 8, 2024 Author Posted February 8, 2024 кстати, забыл добавить fgLayoout находится внутри fgVerticalScrollBox, который тоже не могу выровнять как alClient Quote
Administrators Yaroslav Brovin Posted February 8, 2024 Administrators Posted February 8, 2024 Добрый вечер, Все правильно делаете. Вот настройки для вложенного контейнера: Плюс не забываем у скролбокса поменять направление выравнивания со строки на столбец. У скролбокса по умолчанию используется режим автоматического расчета размера контента на основании размеров вложенных компонентов. В вашем случае, ширина fgLayout зависит от ширины контента скроллбокса. В это же время ширина контента зависит от ширины вложенного Layout. Получается взаимообратная связь. В результате чего смена настроек у Layout не приводит к перерасчету размера содержимого. Достаточно изменить размер формы и все встанет на свои места. В рантайме все так же будет автоматически вычислено. P.S. Это ошибка, заведу в баг трекер. Но она не влияет на рантайм. (В дизайнере используйте woraround с принудительным изменением размера формы, это приведет к перевычислению контента скролбокса. 1 Quote
Аскар Джакишев Posted February 8, 2024 Author Posted February 8, 2024 1 час назад, Yaroslav Brovin сказал: P.S. Это ошибка, заведу в баг трекер. Но она не влияет на рантайм. (В дизайнере используйте woraround с принудительным изменением размера формы, это приведет к перевычислению контента скролбокса. теперь понимаю о чем это вы 1 час назад, Yaroslav Brovin сказал: Плюс не забываем у скролбокса поменять направление выравнивания со строки на столбец. да, так и делаю, но все же, не помешает создать более подробную инструкцию по выравниванию во всех ракурсах, в остальном, пока не вижу других препятствий, тот же object pascal, много разных фишек и примочек, о которых в FMX даже не позаботились, в целом, пока изучаю на trial , мне нравится, но в выравнивании пока плаваю, что немаловажно (о чем в классическом дельфи даже не задумываюсь) Quote
Administrators Viktor Akselrod Posted February 8, 2024 Administrators Posted February 8, 2024 Чтобы лучше понять принцип выравнивания, используемый в библиотеке, вы можете обратиться к статье (внутри есть даже мини-игры, помогающие закрепить знания). 1 Quote
Аскар Джакишев Posted February 9, 2024 Author Posted February 9, 2024 12 часов назад, Viktor Akselrod сказал: Чтобы лучше понять принцип выравнивания, используемый в библиотеке, вы можете обратиться к статье (внутри есть даже мини-игры, помогающие закрепить знания). спасибо прочитал. поиграл во фроги )))) Понимания и уверенности стало немного больше 1 Quote
Аскар Джакишев Posted February 9, 2024 Author Posted February 9, 2024 В целом, выравнивание стало более понятным, но все-таки, хотелось бы понять точнее, что делают эти 3 свойства и в каких случаях их надо использовать ? в примерах, FlexGrow , либо 0 либо 1 других значений не видел В остальном, благодаря примерам и документации, вроде становится понятнее Quote
Administrators Yaroslav Brovin Posted February 9, 2024 Administrators Posted February 9, 2024 FlexGrow - это вес. Если компонентов несколько, то в зависимости от значения веса их размер будет пропорционально вычислен. Например, хотим две кнопки: Первая, чтобы занимала треть контейнера (FlexGrow = 1) Вторая - 2/3 (FlexGrow = 2) FlexShrink - Противоположное свойство FlexGrow. Только отвечает за ситуацию, когда компонент сжимается. FlexBasis - Это базовый размер компонента. Например, если вы используете сжатие или растяжение, то вы можете принудительно указать какой ширины компонент по умолчанию. 1 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.