Аскар Джакишев Posted February 8 Posted February 8 Прежде чем разместить данный вопрос, я внимательно почитал имеющуюся документацию, посмотрел доступное видео, изучил примеры из раздела FGX Samples, в частности - выравнивание, но , к сожалению, так и не смог научиться эффективно выравнивать компоненты, как я это делал в FMX. Если я правильно понял, на форме, в AlignmentChildren обычно выставлено : в fgNavigatorBar выставлено : positionMode=relative и он стоит правильно, аналогично fmx Align:=alMostTop Далее выставляю аналогично fgLayout , но он не примыкает к верху, хотя свойства выставлены аналогично fgNavigationBar, что я делаю не так и может ли кто-нибудь как ребенку, на пальцах, объяснить как выставлять свойства Alignment, чтобы все компоненты примыкали как надо. Quote
Аскар Джакишев Posted February 8 Author Posted February 8 кстати, забыл добавить fgLayoout находится внутри fgVerticalScrollBox, который тоже не могу выровнять как alClient Quote
Administrators Yaroslav Brovin Posted February 8 Administrators Posted February 8 Добрый вечер, Все правильно делаете. Вот настройки для вложенного контейнера: Плюс не забываем у скролбокса поменять направление выравнивания со строки на столбец. У скролбокса по умолчанию используется режим автоматического расчета размера контента на основании размеров вложенных компонентов. В вашем случае, ширина fgLayout зависит от ширины контента скроллбокса. В это же время ширина контента зависит от ширины вложенного Layout. Получается взаимообратная связь. В результате чего смена настроек у Layout не приводит к перерасчету размера содержимого. Достаточно изменить размер формы и все встанет на свои места. В рантайме все так же будет автоматически вычислено. P.S. Это ошибка, заведу в баг трекер. Но она не влияет на рантайм. (В дизайнере используйте woraround с принудительным изменением размера формы, это приведет к перевычислению контента скролбокса. 1 Quote
Аскар Джакишев Posted February 8 Author Posted February 8 1 час назад, Yaroslav Brovin сказал: P.S. Это ошибка, заведу в баг трекер. Но она не влияет на рантайм. (В дизайнере используйте woraround с принудительным изменением размера формы, это приведет к перевычислению контента скролбокса. теперь понимаю о чем это вы 1 час назад, Yaroslav Brovin сказал: Плюс не забываем у скролбокса поменять направление выравнивания со строки на столбец. да, так и делаю, но все же, не помешает создать более подробную инструкцию по выравниванию во всех ракурсах, в остальном, пока не вижу других препятствий, тот же object pascal, много разных фишек и примочек, о которых в FMX даже не позаботились, в целом, пока изучаю на trial , мне нравится, но в выравнивании пока плаваю, что немаловажно (о чем в классическом дельфи даже не задумываюсь) Quote
Administrators Viktor Akselrod Posted February 8 Administrators Posted February 8 Чтобы лучше понять принцип выравнивания, используемый в библиотеке, вы можете обратиться к статье (внутри есть даже мини-игры, помогающие закрепить знания). 1 Quote
Аскар Джакишев Posted February 9 Author Posted February 9 12 часов назад, Viktor Akselrod сказал: Чтобы лучше понять принцип выравнивания, используемый в библиотеке, вы можете обратиться к статье (внутри есть даже мини-игры, помогающие закрепить знания). спасибо прочитал. поиграл во фроги )))) Понимания и уверенности стало немного больше 1 Quote
Аскар Джакишев Posted February 9 Author Posted February 9 В целом, выравнивание стало более понятным, но все-таки, хотелось бы понять точнее, что делают эти 3 свойства и в каких случаях их надо использовать ? в примерах, FlexGrow , либо 0 либо 1 других значений не видел В остальном, благодаря примерам и документации, вроде становится понятнее Quote
Administrators Yaroslav Brovin Posted February 9 Administrators Posted February 9 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.