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

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.   Paste as plain text instead

  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.

×
×
  • Create New...