Google is committed to advancing racial equity for Black communities. See how.

SwipeDismissFrameLayout

public class SwipeDismissFrameLayout
extends DismissibleFrameLayout

java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
       ↳ android.widget.FrameLayout
         ↳ androidx.wear.widget.DismissibleFrameLayout
           ↳ androidx.wear.widget.SwipeDismissFrameLayout


A layout enabling left-to-right swipe-to-dismiss, intended for use within an activity.

At least one listener must be added to act on a dismissal action. A listener will typically remove a containing view or fragment from the current activity.

To suppress a swipe-dismiss gesture, at least one contained view must be scrollable, indicating that it would like to consume any horizontal touch gestures in that direction. In this case this view will only allow swipe-to-dismiss on the very edge of the left-hand-side of the screen. If you wish to entirely disable the swipe-to-dismiss gesture, setSwipeable(boolean) can be used for more direct control over the feature.

Summary

Nested classes

class SwipeDismissFrameLayout.Callback

Implement this callback to act on particular stages of the dismissal. 

Constants

float DEFAULT_DISMISS_DRAG_WIDTH_RATIO

Inherited constants

Inherited fields

Public constructors

SwipeDismissFrameLayout(Context context)

Simple constructor to use when creating a view from code.

SwipeDismissFrameLayout(Context context, AttributeSet attrs)

Constructor that is called when inflating a view from XML.

SwipeDismissFrameLayout(Context context, AttributeSet attrs, int defStyle)

Perform inflation from XML and apply a class-specific base style from a theme attribute.

SwipeDismissFrameLayout(Context context, AttributeSet attrs, int defStyle, int defStyleRes)

Perform inflation from XML and apply a class-specific base style from a theme attribute.

Public methods

void addCallback(SwipeDismissFrameLayout.Callback callback)

Adds a callback for dismissal.

float getDismissMinDragWidthRatio()

Gets the minimum ratio of the screen after which the swipe gesture is treated as swipe-to-dismiss.

boolean isSwipeable()

Returns true if the frame layout can be dismissed by swipe gestures.

void removeCallback(SwipeDismissFrameLayout.Callback callback)

Removes a callback that was added with addCallback(Callback).

void setDismissMinDragWidthRatio(float ratio)

Sets the minimum ratio of the screen after which the swipe gesture is treated as swipe-to-dismiss.

void setSwipeable(boolean swipeable)

Set the layout to be dismissible by swipe or not.

Protected methods

void executeDismissCanceledCallbacks()
void executeDismissStartedCallbacks()
void executeDismissedCallbacks()

Inherited methods

Constants

DEFAULT_DISMISS_DRAG_WIDTH_RATIO

public static final float DEFAULT_DISMISS_DRAG_WIDTH_RATIO

Constant Value: 0.33

Public constructors

SwipeDismissFrameLayout

public SwipeDismissFrameLayout (Context context)

Simple constructor to use when creating a view from code.

Parameters
context Context: The Context the view is running in, through which it can access the current theme, resources, etc.

SwipeDismissFrameLayout

public SwipeDismissFrameLayout (Context context, 
                AttributeSet attrs)

Constructor that is called when inflating a view from XML. This is called when a view is being constructed from an XML file, supplying attributes that were specified in the XML file. This version uses a default style of 0, so the only attribute values applied are those in the Context's Theme and the given AttributeSet.

The method onFinishInflate() will be called after all children have been added.

Parameters
context Context: The Context the view is running in, through which it can access the current theme, resources, etc.

attrs AttributeSet: The attributes of the XML tag that is inflating the view.

SwipeDismissFrameLayout

public SwipeDismissFrameLayout (Context context, 
                AttributeSet attrs, 
                int defStyle)

Perform inflation from XML and apply a class-specific base style from a theme attribute. This constructor allows subclasses to use their own base style when they are inflating.

Parameters
context Context: The Context the view is running in, through which it can access the current theme, resources, etc.

attrs AttributeSet: The attributes of the XML tag that is inflating the view.

defStyle int: An attribute in the current theme that contains a reference to a style resource that supplies default values for the view. Can be 0 to not look for defaults.

SwipeDismissFrameLayout

public SwipeDismissFrameLayout (Context context, 
                AttributeSet attrs, 
                int defStyle, 
                int defStyleRes)

Perform inflation from XML and apply a class-specific base style from a theme attribute. This constructor allows subclasses to use their own base style when they are inflating.

Parameters
context Context: The Context the view is running in, through which it can access the current theme, resources, etc.

attrs AttributeSet: The attributes of the XML tag that is inflating the view.

defStyle int: An attribute in the current theme that contains a reference to a style resource that supplies default values for the view. Can be 0 to not look for defaults.

defStyleRes int: It allows a style resource to be specified when creating the view.

Public methods

addCallback

public void addCallback (SwipeDismissFrameLayout.Callback callback)

Adds a callback for dismissal.

Parameters
callback SwipeDismissFrameLayout.Callback

getDismissMinDragWidthRatio

public float getDismissMinDragWidthRatio ()

Gets the minimum ratio of the screen after which the swipe gesture is treated as swipe-to-dismiss.

Returns
float

isSwipeable

public boolean isSwipeable ()

Returns true if the frame layout can be dismissed by swipe gestures.

Returns
boolean

removeCallback

public void removeCallback (SwipeDismissFrameLayout.Callback callback)

Removes a callback that was added with addCallback(Callback).

Parameters
callback SwipeDismissFrameLayout.Callback

setDismissMinDragWidthRatio

public void setDismissMinDragWidthRatio (float ratio)

Sets the minimum ratio of the screen after which the swipe gesture is treated as swipe-to-dismiss.

Parameters
ratio float: the ratio of the screen at which the swipe gesture is treated as swipe-to-dismiss. should be provided as a fraction of the screen

setSwipeable

public void setSwipeable (boolean swipeable)

Set the layout to be dismissible by swipe or not.

Parameters
swipeable boolean: Whether the layout should react to the swipe gesture.

Protected methods

executeDismissCanceledCallbacks

protected void executeDismissCanceledCallbacks ()

executeDismissStartedCallbacks

protected void executeDismissStartedCallbacks ()

executeDismissedCallbacks

protected void executeDismissedCallbacks ()