allowVerticalDrag() doesn't work on scroll list
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-04-29 5:29 AM - edited ‎2025-04-29 6:00 AM
The same issue has been reported years ago https://community.st.com/t5/stm32-mcus-touchgfx-and-gui/method-allowverticaldrag-in-scroll-list-container-does-not-seem/m-p/169035#M10136
If you create a mySelectorScroll and in the code mySelectorScroll.allowVerticalDrag(false); the scroll list will continue to be scrollable no matter what
Also, accoridng to docs (https://support.touchgfx.com/docs/api/classes/classtouchgfx_1_1_scroll_base#function-allowverticaldrag) it should be OFF by default
enable | If true, vertical scrolling is enabled. If false (default), scrolling is disabled. |
- Labels:
-
Bug-report
-
TouchGFX
-
TouchGFX Designer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-04-29 5:40 AM
Hello @nico23 ,
Can you try to call
mySelectorScroll.childGeometryChanged();
I had a similar question where someone asked why the scrollbar width did not update after he changed it and it solved the issue :
scrollableContainer1.setScrollbarWidth(20);
scrollableContainer1.childGeometryChanged();
Somehow, the scrollbar is a child of the scrollableContainer and therefore need to be updated.
If that doesn't work, can you tell me what is "mySelectorScroll"? Is it a standard scrollList or is it a custom container?
Regards,
Software engineer at ST (TouchGFX)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-04-29 5:51 AM - edited ‎2025-04-29 1:12 PM
I'm using a standard Scroll List, not a Scrollable Container and I feel, according to docs (https://support.touchgfx.com/docs/api/classes/classtouchgfx_1_1_scroll_list) it has not that method.
Also, I'm not setting the height/width dynamically.
The Scroll List uses as items a custom container.
A workaround seems to be settings accelerations to 0
mySelectorScroll.setDragAcceleration(0);
mySelectorScroll.setSwipeAcceleration(0);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-04-29 7:22 AM
The scrollList inherit from drawable which have the method childGeometryChanged :
Setting the drag speed to 0 indeed prevent any movement, that could be a workaround for you. :)
Have you tried to call childGeometryChanged() though?
Regards,
Software engineer at ST (TouchGFX)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-04-29 7:36 AM
I've called
mySelectorScroll.childGeometryChanged();
mySelectorScroll.allowVerticalDrag(false);
but the issue persisted
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-04-29 7:47 AM
Can you try to put the childGeometryUpdate after the allowVerticalDrag?
Regards,
Software engineer at ST (TouchGFX)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-04-29 8:07 AM - edited ‎2025-04-29 11:21 PM
same, the issue persisted
EDIT: on another note, why the docs says the drag should be OFF by default when it is clearly not? @GaetanGodart
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-04-30 7:24 AM
Hello @nico23 ,
I have made some test and it seems that this function is not really doing much.
Perhaps it was used earlier but not anymore, perhaps it is used for other scrollable elements but not the scrollList or something else.
Either way, I will talk to the team to see what we can do about it.
To be clear, your goal was to prevent scrolling of the scrollList?
If setting the drag and swipe acceleration to 0 achieved your desired result, I guess we can keep it like that and select your previous message as "best answer".
Regards,
Software engineer at ST (TouchGFX)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-05-01 1:05 AM
@GaetanGodart wrote:To be clear, your goal was to prevent scrolling of the scrollList?
That's correct.
@GaetanGodart wrote:If setting the drag and swipe acceleration to 0 achieved your desired result
It does, but it's technically a workaround.
If you're not planning to fix it, I would genuinely ask to fix the docs and/or remove the allowVerticalDrag method to avoid any other confusion.
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-05-02 1:14 AM
Hello @nico23 ,
I am glad that setting the acceleration speed to 0 achieves your desired result. :)
I will talk with the team to see what we should do with the allowVerticalDrag.
The API is generated from the source code based on our functions' and variables' description, that is why it is still in the API and that is why it is not very easy to modify the API.
Regards,
Software engineer at ST (TouchGFX)
