Skip to content

Most visited

Recently visited

navigation
added in version 26.1.0
belongs to Maven artifact com.android.support:wear:28.0.0-alpha1

SwipeDismissFrameLayout

public class SwipeDismissFrameLayout
extends FrameLayout

java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
       ↳ android.widget.FrameLayout
         ↳ android.support.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

From class android.view.ViewGroup
From class android.view.View

Inherited fields

From class android.view.View

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.

boolean canScrollHorizontally(int direction)
float getDismissMinDragWidthRatio()

Returns the current ratio of te screen at which the swipe gesture is treated as swipe-to-dismiss.

boolean isSwipeable()

Returns true if the layout reacts to swipe gestures.

boolean onInterceptTouchEvent(MotionEvent ev)
boolean onTouchEvent(MotionEvent ev)
void removeCallback(SwipeDismissFrameLayout.Callback callback)

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

void requestDisallowInterceptTouchEvent(boolean disallowIntercept)
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)

Sets the layout to swipeable or not.

Protected methods

boolean canScroll(View v, boolean checkV, float dx, float x, float y)

Tests scrollability within child views of v in the direction of dx.

Inherited methods

From class android.widget.FrameLayout
From class android.view.ViewGroup
From class android.view.View
From class java.lang.Object
From interface android.view.ViewParent
From interface android.view.ViewManager
From interface android.graphics.drawable.Drawable.Callback
From interface android.view.KeyEvent.Callback
From interface android.view.accessibility.AccessibilityEventSource

Constants

DEFAULT_DISMISS_DRAG_WIDTH_RATIO

float DEFAULT_DISMISS_DRAG_WIDTH_RATIO

Constant Value: 0.33

Public constructors

SwipeDismissFrameLayout

added in version 26.1.0
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

added in version 26.1.0
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

added in version 26.1.0
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

added in version 26.1.0
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: This corresponds to the fourth argument of View(Context, AttributeSet, int, int). It allows a style resource to be specified when creating the view.

Public methods

addCallback

added in version 26.1.0
void addCallback (SwipeDismissFrameLayout.Callback callback)

Adds a callback for dismissal.

Parameters
callback SwipeDismissFrameLayout.Callback

canScrollHorizontally

boolean canScrollHorizontally (int direction)

Parameters
direction int

Returns
boolean

getDismissMinDragWidthRatio

float getDismissMinDragWidthRatio ()

Returns the current ratio of te screen at which the swipe gesture is treated as swipe-to-dismiss.

Returns
float the current ratio of te screen at which the swipe gesture is treated as swipe-to-dismiss

isSwipeable

boolean isSwipeable ()

Returns true if the layout reacts to swipe gestures.

Returns
boolean

onInterceptTouchEvent

boolean onInterceptTouchEvent (MotionEvent ev)

Parameters
ev MotionEvent

Returns
boolean

onTouchEvent

boolean onTouchEvent (MotionEvent ev)

Parameters
ev MotionEvent

Returns
boolean

removeCallback

added in version 26.1.0
void removeCallback (SwipeDismissFrameLayout.Callback callback)

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

Parameters
callback SwipeDismissFrameLayout.Callback

requestDisallowInterceptTouchEvent

void requestDisallowInterceptTouchEvent (boolean disallowIntercept)

Parameters
disallowIntercept boolean

setDismissMinDragWidthRatio

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

void setSwipeable (boolean swipeable)

Sets the layout to swipeable or not. This effectively turns the functionality of this layout on or off.

Parameters
swipeable boolean: whether the layout should react to the swipe gesture

Protected methods

canScroll

boolean canScroll (View v, 
                boolean checkV, 
                float dx, 
                float x, 
                float y)

Tests scrollability within child views of v in the direction of dx.

Parameters
v View: view to test for horizontal scrollability

checkV boolean: whether the view v passed should itself be checked for scrollability (true), or just its children (false)

dx float: delta scrolled in pixels. Only the sign of this is used

x float: x coordinate of the active touch point

y float: y coordinate of the active touch point

Returns
boolean true if child views of v can be scrolled by delta of dx

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (April 2018 — Developer Survey)