x11 Posted May 20, 2020 Share Posted May 20, 2020 Не могу понять, как проектировать мобильную форму, чтобы работала вертикальная прокрутка? Какие значения у Layout, LayoutAttribs и LayoutConfig должна быть у TUnimScrollBox и у внутренних компонентов? В приложенном примере нажмите кнопку на главной форме, чтобы появилась форма с UnimScrollBox`ом. Тот пример, который идет в поставке, он не функциональный, совсем ничему не обучает, а просто показывает, что прокрутка есть, но никто ведь так формы не проектирует, как авторы сделали в примере. Спасибо. UniGUI_Touch_Scroll.zip Link to comment Share on other sites More sharing options...
x11 Posted May 21, 2020 Author Share Posted May 21, 2020 up Link to comment Share on other sites More sharing options...
x11 Posted May 21, 2020 Author Share Posted May 21, 2020 Частично проблему можно решить, если под последней компонентой добавить ещё одну панель, чтобы она как бы увеличивали внутренний размер UnimScrollBox`а. Нужно поэкспериментировать с высотой. И не забыть LayoutConfig.Height := 'absolute'; Но это уже очередной костыль. Link to comment Share on other sites More sharing options...
x11 Posted July 30, 2020 Author Share Posted July 30, 2020 up на форуме не хватает у тем галочки "вопрос решён", чтобы в списке тем было видно - какие вопросы уже решены, и какие ещё нет Link to comment Share on other sites More sharing options...
Sherzod Posted July 31, 2020 Share Posted July 31, 2020 On 5/21/2020 at 4:09 PM, x11 said: Частично проблему можно решить, если под последней компонентой добавить ещё одну панель, чтобы она как бы увеличивали внутренний размер UnimScrollBox`а. Попробуйте это решение: 1 Link to comment Share on other sites More sharing options...
x11 Posted January 18, 2021 Author Share Posted January 18, 2021 А вы не планируете сделать так, чтобы компонента UnimScrollBox работала по умолчанию без лишних телодвижений? Внутрь странички UnimTabSheet кинул UnimScrollBox, а внутрь UnimScrollBox`а накидал компонентов и прокрутки нет. Link to comment Share on other sites More sharing options...
Sherzod Posted January 18, 2021 Share Posted January 18, 2021 1 hour ago, x11 said: Внутрь странички UnimTabSheet кинул UnimScrollBox, а внутрь UnimScrollBox`а накидал компонентов и прокрутки нет. Я не смог воспроизвести... Или же Вы используете динамические контролы!? Link to comment Share on other sites More sharing options...
x11 Posted January 18, 2021 Author Share Posted January 18, 2021 Нет, не динамические, а в дизайне все накидал. В рантайме ничего не создавал. и вот этот код не помог у мен все в режиме uniAlignmentClient Link to comment Share on other sites More sharing options...
Sherzod Posted January 18, 2021 Share Posted January 18, 2021 Just now, x11 said: Нет, не динамические, а в дизайне все накидал. В рантайме ничего не создавал. Какое выравнивание используете? Link to comment Share on other sites More sharing options...
x11 Posted January 18, 2021 Author Share Posted January 18, 2021 uniAlignmentClient Link to comment Share on other sites More sharing options...
x11 Posted January 18, 2021 Author Share Posted January 18, 2021 + вот такие настройки Link to comment Share on other sites More sharing options...
x11 Posted January 18, 2021 Author Share Posted January 18, 2021 свойства формы у формы тоже uniAlignmentClient Link to comment Share on other sites More sharing options...
x11 Posted January 18, 2021 Author Share Posted January 18, 2021 Пробовал разные свойства для Layout. Вот тестовый пример uniGUI_ScrollMob.zip Link to comment Share on other sites More sharing options...
Sherzod Posted January 18, 2021 Share Posted January 18, 2021 38 minutes ago, x11 said: Пробовал разные свойства для Layout. Link to comment Share on other sites More sharing options...
x11 Posted January 18, 2021 Author Share Posted January 18, 2021 извините, не понял... Link to comment Share on other sites More sharing options...
x11 Posted January 18, 2021 Author Share Posted January 18, 2021 Нужно очистить свойство layout.height? Link to comment Share on other sites More sharing options...
Sherzod Posted January 18, 2021 Share Posted January 18, 2021 2 minutes ago, x11 said: Нужно очистить свойство layout.height? Да, попробуйте. Link to comment Share on other sites More sharing options...
x11 Posted January 18, 2021 Author Share Posted January 18, 2021 Да, так лучше. Но в реальном проекте все равно что-то не так. Вот до низа прокрутил, но часть все равно обрезана. Всё-таки комплексного примера не хватает, где было бы описано, рассказано и показано, как правильно. Где были бы указаны типичные ошибки и рассказщано, как не надо делать. Link to comment Share on other sites More sharing options...
x11 Posted January 18, 2021 Author Share Posted January 18, 2021 и вот еще не могу понять, почему UnimScrollBox не растягивается по ширине, хотя в свойстве width указано max Link to comment Share on other sites More sharing options...
x11 Posted January 18, 2021 Author Share Posted January 18, 2021 5 minutes ago, Sherzod said: Да, попробуйте. да, спасибо большое, это помогло Link to comment Share on other sites More sharing options...
x11 Posted January 18, 2021 Author Share Posted January 18, 2021 1 hour ago, x11 said: не могу понять, почему UnimScrollBox не растягивается по ширине, хотя в свойстве width указано max Получается, что у компоненты TUnimScrollBox есть еще какой-то внутренний элемент и ширина его фиксированная. т.е. основная компонента - это data-componentid="fmmusersettings_unimscrollbox1_0" а внутренний контейнер - это data-componentid="fmmusersettings_unimscrollbox1_1" Подскажите, где, в каких свойствах TUnimScrollBox можно менять параметры этого внутреннего контейнера? Спасибо. Link to comment Share on other sites More sharing options...
x11 Posted January 18, 2021 Author Share Posted January 18, 2021 В общем, чисто случайно, методом научного тыка, как говорят, обнаружил, что нужно добавить еще одну строку, чтобы TUnimScrollBox был на всю ширину function painted(sender, eOpts) {// для прокрутки TUnimScrollBox sender.bodyElement.dom.setAttribute('style', 'overflow-y:auto !important'); sender.bodyElement.select('.x-dock .x-dock-vertical').setStyle('overflow-y', 'auto'); if (sender.floating) { sender.floating.element.setStyle('height', 'auto'); sender.floating.element.setStyle('width', 'auto');// вот эта строка } } пример отсюда Link to comment Share on other sites More sharing options...
x11 Posted January 18, 2021 Author Share Posted January 18, 2021 2 hours ago, Sherzod said: Да, попробуйте. на больших смартфонах часть экрана (отметил красным) остается незадействованной Link to comment Share on other sites More sharing options...
x11 Posted January 18, 2021 Author Share Posted January 18, 2021 6 minutes ago, x11 said: на больших смартфонах часть экрана (отметил красным) остается незадействованной Нужно еще не забыть про unimScrollBox1.LayoutConfig.Height := 'auto'; Link to comment Share on other sites More sharing options...
x11 Posted January 18, 2021 Author Share Posted January 18, 2021 Как видите, приходится решать довольно сложную задачу, чтобы заставить TunimScrollBox нормально работать Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now