ViewDragHelper: how to use it?

bvitaliyg picture bvitaliyg · Jul 21, 2013 · Viewed 22.4k times · Source

In the Google IO 2013, Google has announced a new version of the Support Library, which includes ViewDragHelper class. I saw the docs, but I couldn't find any sample of usage for this class.

For example, a very typical situation: I have a custom view, which extends from FrameLayout and allows to drag some of the Views inside. For example, let it be a Button. I override onTouchEvent() and onInterceptTouchEvent() within my custom view, and if the button of the rect contains the touch coordinates and this is not a simple click, then I start to drag.

So, what I must do with ViewDragHelper to get that? The clicks to the Button should process correctly.

Answer

niyanshi picture niyanshi · Jul 30, 2013

Here is a good example shows how ViewDragHelper is used. https://github.com/umano/AndroidSlidingUpPanel

Use ViewDragHelper.create() method to create it. Use the shouldInterceptTouchEvent() to determine if you should intercept the touch event from child views.

Use smootSlideViewTo() method to move the child view within your customized view.