PDA

View Full Version : get current scroll/drag position of sencha touch panel



scheid
30 Apr 2012, 1:17 PM
Hi All,

I'm using Sencha Touch 2. I am using a panel set to be scrollable vertically, and need to be able to get the current scroll position of the panel. I explored the Ext.scroll.View object returned from getScrollable(), and also Ext.scroll.Scroller but they don't seem to have a method to get current position, that I could find.

Looking in firebug at the object returned from getScrollable(), I did actually find a variable in there that gives me what I want, but it looks like it's intended to be private. It would be called like this ('myPanel' is just the panel instance):

myPanel.getScrollable()._scroller.lastDragPosition

that call returns an object with 'x' and 'y' members, which is perfect for my purposes.

Is this the best way to get the scroll position or is there a more supported way?

Thanks.

mitchellsimoens
2 May 2012, 5:50 AM
That could work but instead of getting the scroller via _scroller you should do getScroller()

scheid
3 May 2012, 11:39 AM
yep, thanks. That works.

Also, for anyone else interested in this, I figured out that 'lastDragPosition' is just the position the scroller was at when you released your finger, which is usually different than the final resting position. For the final resting position, it's just 'position', like:

myPanel.getScrollable().getScroller().position.x
myPanel.getScrollable().getScroller().position.y