ListPopupWindowCompat

Added in 1.1.0

public final class ListPopupWindowCompat


Helper for accessing features in ListPopupWindow.

Summary

Public methods

static View.OnTouchListener
createDragToOpenListener(Object listPopupWindow, View src)

This method is deprecated.

Use createDragToOpenListener that takes in ListPopupWindow instead of Object.

static @Nullable View.OnTouchListener
@ReplaceWith(expression = "listPopupWindow.createDragToOpenListener(src)")
createDragToOpenListener(
    @NonNull ListPopupWindow listPopupWindow,
    @NonNull View src
)

This method is deprecated.

Call createDragToOpenListener directly.

Public methods

createDragToOpenListener

Added in 1.1.0
Deprecated in 1.1.0
public static View.OnTouchListener createDragToOpenListener(Object listPopupWindow, View src)

On API KITKAT and higher, returns an OnTouchListener that can be added to the source view to implement drag-to-open behavior. Generally, the source view should be the same view that was passed to ListPopupWindow.setAnchorView(View).

When the listener is set on a view, touching that view and dragging outside of its bounds will open the popup window. Lifting will select the currently touched list item.

Example usage:

ListPopupWindow myPopup = new ListPopupWindow(context);
myPopup.setAnchor(myAnchor);
OnTouchListener dragListener = myPopup.createDragToOpenListener(myAnchor);
myAnchor.setOnTouchListener(dragListener);
Parameters
Object listPopupWindow

the ListPopupWindow against which to invoke the method

View src

the view on which the resulting listener will be set

Returns
View.OnTouchListener

a touch listener that controls drag-to-open behavior, or null on unsupported APIs

createDragToOpenListener

Added in 1.1.0
Deprecated in 1.15.0
@ReplaceWith(expression = "listPopupWindow.createDragToOpenListener(src)")
public static @Nullable View.OnTouchListener createDragToOpenListener(
    @NonNull ListPopupWindow listPopupWindow,
    @NonNull View src
)

On API KITKAT and higher, returns an OnTouchListener that can be added to the source view to implement drag-to-open behavior. Generally, the source view should be the same view that was passed to ListPopupWindow.setAnchorView(View).

When the listener is set on a view, touching that view and dragging outside of its bounds will open the popup window. Lifting will select the currently touched list item.

Example usage:

ListPopupWindow myPopup = new ListPopupWindow(context);
myPopup.setAnchor(myAnchor);
OnTouchListener dragListener = myPopup.createDragToOpenListener(myAnchor);
myAnchor.setOnTouchListener(dragListener);
Parameters
@NonNull ListPopupWindow listPopupWindow

the ListPopupWindow against which to invoke the method

@NonNull View src

the view on which the resulting listener will be set

Returns
@Nullable View.OnTouchListener

a touch listener that controls drag-to-open behavior, or null on unsupported APIs