x11 Posted May 20, 2020 Share Posted May 20, 2020 Не могу понять, как проектировать мобильную форму, чтобы работала вертикальная прокрутка? Какие значения у Layout, LayoutAttribs и LayoutConfig должна быть у TUnimScrollBox и у внутренних компонентов? В приложенном примере нажмите кнопку на главной форме, чтобы появилась форма с UnimScrollBox`ом. Тот пример, который идет в поставке, он не функциональный, совсем ничему не обучает, а просто показывает, что прокрутка есть, но никто ведь так формы не проектирует, как авторы сделали в примере. Спасибо. UniGUI_Touch_Scroll.zip Quote Link to comment Share on other sites More sharing options...
x11 Posted May 21, 2020 Author Share Posted May 21, 2020 up Quote 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'; Но это уже очередной костыль. Quote Link to comment Share on other sites More sharing options...
x11 Posted July 30, 2020 Author Share Posted July 30, 2020 up на форуме не хватает у тем галочки "вопрос решён", чтобы в списке тем было видно - какие вопросы уже решены, и какие ещё нет Quote 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 Quote 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`а накидал компонентов и прокрутки нет. Quote 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`а накидал компонентов и прокрутки нет. Я не смог воспроизвести... Или же Вы используете динамические контролы!? Quote Link to comment Share on other sites More sharing options...
x11 Posted January 18, 2021 Author Share Posted January 18, 2021 Нет, не динамические, а в дизайне все накидал. В рантайме ничего не создавал. и вот этот код не помог у мен все в режиме uniAlignmentClient Quote Link to comment Share on other sites More sharing options...
Sherzod Posted January 18, 2021 Share Posted January 18, 2021 Just now, x11 said: Нет, не динамические, а в дизайне все накидал. В рантайме ничего не создавал. Какое выравнивание используете? Quote Link to comment Share on other sites More sharing options...
x11 Posted January 18, 2021 Author Share Posted January 18, 2021 uniAlignmentClient Quote Link to comment Share on other sites More sharing options...
x11 Posted January 18, 2021 Author Share Posted January 18, 2021 + вот такие настройки Quote Link to comment Share on other sites More sharing options...
x11 Posted January 18, 2021 Author Share Posted January 18, 2021 свойства формы у формы тоже uniAlignmentClient Quote 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 Quote 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. Quote Link to comment Share on other sites More sharing options...
x11 Posted January 18, 2021 Author Share Posted January 18, 2021 извините, не понял... Quote Link to comment Share on other sites More sharing options...
x11 Posted January 18, 2021 Author Share Posted January 18, 2021 Нужно очистить свойство layout.height? Quote 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? Да, попробуйте. Quote Link to comment Share on other sites More sharing options...
x11 Posted January 18, 2021 Author Share Posted January 18, 2021 Да, так лучше. Но в реальном проекте все равно что-то не так. Вот до низа прокрутил, но часть все равно обрезана. Всё-таки комплексного примера не хватает, где было бы описано, рассказано и показано, как правильно. Где были бы указаны типичные ошибки и рассказщано, как не надо делать. Quote Link to comment Share on other sites More sharing options...
x11 Posted January 18, 2021 Author Share Posted January 18, 2021 и вот еще не могу понять, почему UnimScrollBox не растягивается по ширине, хотя в свойстве width указано max Quote 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: Да, попробуйте. да, спасибо большое, это помогло Quote 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 можно менять параметры этого внутреннего контейнера? Спасибо. Quote 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');// вот эта строка } } пример отсюда Quote 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: Да, попробуйте. на больших смартфонах часть экрана (отметил красным) остается незадействованной Quote 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'; Quote Link to comment Share on other sites More sharing options...
x11 Posted January 18, 2021 Author Share Posted January 18, 2021 Как видите, приходится решать довольно сложную задачу, чтобы заставить TunimScrollBox нормально работать Quote Link to comment Share on other sites More sharing options...
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.