Jump to content

Не работает TUnimScrollBox


x11

Recommended Posts

Не могу понять, как проектировать мобильную форму, чтобы работала вертикальная прокрутка?

Какие значения у Layout, LayoutAttribs и LayoutConfig должна быть у TUnimScrollBox и у внутренних компонентов?

В приложенном примере нажмите кнопку на главной форме, чтобы появилась форма с UnimScrollBox`ом.

Тот пример, который идет в поставке, он не функциональный, совсем ничему не обучает, а просто показывает, что прокрутка есть, но никто ведь так формы не проектирует, как авторы сделали в примере.

Спасибо.

UniGUI_Touch_Scroll.zip

Link to comment
Share on other sites

Частично проблему можно решить, если под последней компонентой добавить ещё одну панель, чтобы она как бы увеличивали внутренний размер UnimScrollBox`а.

Нужно поэкспериментировать с высотой.

И не забыть LayoutConfig.Height := 'absolute';

Но это уже очередной костыль. :(

Screenshot_1.jpg

Link to comment
Share on other sites

  • 2 months later...

up

 

на форуме не хватает у тем галочки "вопрос решён", чтобы в списке тем было видно - какие вопросы уже решены, и какие ещё нет

Link to comment
Share on other sites

On 5/21/2020 at 4:09 PM, x11 said:

Частично проблему можно решить, если под последней компонентой добавить ещё одну панель, чтобы она как бы увеличивали внутренний размер UnimScrollBox`а.

Попробуйте это решение:

 

  • Like 1
Link to comment
Share on other sites

  • 5 months later...

А вы не планируете сделать так, чтобы компонента UnimScrollBox работала по умолчанию без лишних телодвижений?

Внутрь странички UnimTabSheet кинул UnimScrollBox, а внутрь UnimScrollBox`а накидал компонентов и прокрутки нет.

Screenshot_40.jpg

Link to comment
Share on other sites

1 hour ago, x11 said:

Внутрь странички UnimTabSheet кинул UnimScrollBox, а внутрь UnimScrollBox`а накидал компонентов и прокрутки нет.

Я не смог воспроизвести...

Или же Вы используете динамические контролы!?

Link to comment
Share on other sites

Да, так лучше.

Но в реальном проекте все равно что-то не так. Вот до низа прокрутил, но часть все равно обрезана.

Всё-таки комплексного примера не хватает, где было бы описано, рассказано и показано, как правильно. Где были бы указаны типичные ошибки и рассказщано, как не надо делать.

Screenshot_1.jpg

Link to comment
Share on other sites

1 hour ago, x11 said:

не могу понять, почему UnimScrollBox не растягивается по ширине, хотя в свойстве width указано max

Получается, что у компоненты TUnimScrollBox есть еще какой-то внутренний элемент и ширина его фиксированная.

т.е. основная компонента - это data-componentid="fmmusersettings_unimscrollbox1_0"

а внутренний контейнер - это data-componentid="fmmusersettings_unimscrollbox1_1"

 

Подскажите, где, в каких свойствах TUnimScrollBox  можно менять параметры этого внутреннего контейнера?

Спасибо.

Screenshot_6.jpg

Link to comment
Share on other sites

В общем, чисто случайно, методом научного тыка, как говорят, обнаружил, что нужно добавить еще одну строку, чтобы 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

2 hours ago, Sherzod said:

Да, попробуйте.

 

на больших смартфонах часть экрана (отметил красным) остается незадействованной

Screenshot_11.jpg

Link to comment
Share on other sites

6 minutes ago, x11 said:

на больших смартфонах часть экрана (отметил красным) остается незадействованной

Нужно еще не забыть про unimScrollBox1.LayoutConfig.Height := 'auto';

Screenshot_12.jpg

Link to comment
Share on other sites

Как видите, приходится решать довольно сложную задачу, чтобы заставить TunimScrollBox нормально работать  :sad:

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...