ListView pixel-accuracy scrolling: How to stop ListView from jumping by entire item when scrolling
-
Hi,
I want to achieve smooth scrolling with ListView. By "smooth" I mean scrolling that does not jump by an entire list item at a time, which seems to be the default behaviour. To put it in other words, I want the type of scrolling that you get on just about any modern mobile device, where list items can be moved by a fraction of their size (essentially with pixel accuracy), not by a while item.
To be clear, I know about ListView.NoSnap which allows the list to move by a fraction of an item's size, but what I am unable to achieve is to have partial elements shown at the top / bottom of the ListView when snapMode: ListView.NoSnap is enabled.
This must be possible, but like pretty much all of QML, useful information is virtually impossible to find....
Help would be greatly appreciated!
-
Hi,
I want to achieve smooth scrolling with ListView. By "smooth" I mean scrolling that does not jump by an entire list item at a time, which seems to be the default behaviour. To put it in other words, I want the type of scrolling that you get on just about any modern mobile device, where list items can be moved by a fraction of their size (essentially with pixel accuracy), not by a while item.
To be clear, I know about ListView.NoSnap which allows the list to move by a fraction of an item's size, but what I am unable to achieve is to have partial elements shown at the top / bottom of the ListView when snapMode: ListView.NoSnap is enabled.
This must be possible, but like pretty much all of QML, useful information is virtually impossible to find....
Help would be greatly appreciated!
-
Hi,
Thank you for the reply. Yes, an example is easy to provide:
http://doc.qt.io/qt-5/qtquick-tutorials-dynamicview-dynamicview3-example.htmlPlease note that my point is not that ListView doesn't scroll per pixel - it does. My point is that the contents of ListView are only shown as entire Items rather than being shown partially as the ListView scrolls (entire items are added / removed from view). This gives the impression that overall scrolling is not per-pixel.
-
Hi,
Thank you for the reply. Yes, an example is easy to provide:
http://doc.qt.io/qt-5/qtquick-tutorials-dynamicview-dynamicview3-example.htmlPlease note that my point is not that ListView doesn't scroll per pixel - it does. My point is that the contents of ListView are only shown as entire Items rather than being shown partially as the ListView scrolls (entire items are added / removed from view). This gives the impression that overall scrolling is not per-pixel.
@CodaYoda No it is does not completely show entire items when scrolled. If you look carefully you will seen there is a small difference. To test it you can try setting the delegate height to something higher or lower or you can even try mouse drag and scroll.