Jump to content

Растянуть компоненты в контейнере


x11

Recommended Posts

Я, наверное, не до конца понимаю свойства Layout и LayoutAttribs.

Поэтому подскажите, поправьте меня.

В качестве контейнера используется мобильная форма. На форме две компоненты: сетка и элемент ввода. У формы включено uniAlignmentClient.

В свойствах LayoutAttribs я указал, чтобы элементы растянулись высоте и по ширине на всю форму.

Но получается так, что сетка не меняет размер, а прости прилипает к нижнему краю формы. Получается много места между unimEdit и unimDBGrid.

А хотелось бы, чтобы сетка занимала все свободное пространство.

 

Screenshot_6.jpg

Link to comment
Share on other sites

19 minutes ago, x11 said:

Но получается так, что сетка не меняет размер, а прости прилипает к нижнему краю формы. Получается много места между unimEdit и unimDBGrid.

Можете прикрепить скриншот?

Link to comment
Share on other sites

Тебе нужно у формы указать лэйаут vbox, затем бросить грид у него width = 100% и edit у него тоже width=100%, ну и у грида еще flex=1 поставить чтобы его растянуло, вроде чисто по памяти все

 

image.png.d7261541f9b098ea0f137be989f20c95.png

Link to comment
Share on other sites

На счет flex и width я в курсе. И примеры изучал.

А что тогда дает LayoutAttribs: stretch + justify в данном случае? Почему не работает?

 

Я думал, если у контейнера указать stretch, то дочерние элементы должны растянуться.

Link to comment
Share on other sites

Почему у unimEdit ширина 255? Вот если я снимаю галочку (картинка 2), тогда всё норм и unimEdit растягивается на всю ширину родительского контейнера.

Screenshot_2.jpg

Screenshot_3.jpg

Link to comment
Share on other sites

13 hours ago, zilav said:

грид у него width = 100% и edit у него тоже width=100%, ну и у грида еще flex=1

если так, то зачем тогда свойства LayoutAttribs?

Link to comment
Share on other sites

Ну я так на память не подскажу, я делал просто, втыкал свойства и инспектором смотрел что в коде страницы изменилось. Мне обычно лэйаутов с марджинами и паддингами хватает за глаза практически для любой верстки. Тут на форуме был великолепный пример клиентской верстки дашборда, поищите, я как раз на его основе клиентскую верстку изучал.

Link to comment
Share on other sites

Сложно сказать, по моему личному мнению текущая их реализация это скорее концепт чем работоспособное и готовое к продакшену решение. Но опять же повторюсь это личное мнение, да и мое личное мнение что лучше уж полная концентрация на стандартных компонентах и гиперсервере в конфигурации фермы.

Link to comment
Share on other sites

  • 5 weeks later...

Может я что-то не понимаю, но для чего служит свойство Align со значением stretch?

Разве дочерние компоненты не должны растягиваться по ширине если вот такие условия установлены контейнеру:

Layout = vbox

Align = stretch

??

Вот ссылка: https://docs.sencha.com/extjs/4.2.2/extjs-build/examples/layout/vbox.html

Если вверху нажать кнопку "Align: stretch", то слева кнопки растянуться по ширине.

Почему в uniGUI Touch так не работают контейнеры?

Screenshot_37.jpg

Screenshot_38.jpg

Link to comment
Share on other sites

  • 11 months later...
  • 2 years later...

Проблема с тем, что компонентьі обрезаются.

Задача простая. Нужно, чтобьі все внутренние компонентьі растягивались по ширине родительского контейнера UniContainerPanel3.

При єтом, ширину самого контейнера можно менять мьішкой - растягивать (на снимке там есть разделитель) - єто работает.

Честно говоря, не хочется каждой отдельной компоненте прописьівать свойства LayoutConfig. То, что у контейнера есть свойство LayoutAttribs.Padding, довольно удобно.

uniGUI 1567

2024-02-09 12_21_29-Project1 - Delphi 10.4 - Main.png

2024-02-09 12_23_58-New Application — Mozilla Firefox.png

uniGUI_Layout_Table.rar

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...