SwipeDismissFrameLayout

public class SwipeDismissFrameLayout extends DismissibleFrameLayout


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 can be used for more direct control over the feature.

Summary

Nested types

SwipeDismissFrameLayout.Callback

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

Constants

static final @NonNull float

Public constructors

Simple constructor to use when creating a view from code.

SwipeDismissFrameLayout(
    @NonNull Context context,
    @NonNull AttributeSet attrs
)

Constructor that is called when inflating a view from XML.

SwipeDismissFrameLayout(
    @NonNull Context context,
    @NonNull AttributeSet attrs,
    @NonNull int defStyle
)

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

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

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

Public methods

@NonNull void

Adds a callback for dismissal.

@NonNull float

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

@NonNull boolean

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

@NonNull void

Removes a callback that was added with addCallback.

@NonNull void

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

@NonNull void
setSwipeable(@NonNull boolean swipeable)

Set the layout to be dismissible by swipe or not.

Inherited methods

From class DismissibleFrameLayout
@Override @NonNull boolean
@NonNull boolean

Returns true if the frame layout would be dismissed with back button click

@NonNull boolean

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

@Override @NonNull boolean
@Override @NonNull boolean
final @UiThread @NonNull void

Registers a callback for dismissal.

@Override @NonNull void
requestDisallowInterceptTouchEvent(@NonNull boolean disallowIntercept)

Following methods overriding are only required with swipe-to-dismiss to handle touch event for detect swipe gesture.

final @NonNull void
setBackButtonDismissible(@NonNull boolean backButtonDismissible)

Sets the frame layout to be back button dismissible or not.

final @NonNull void
setSwipeDismissible(@NonNull boolean swipeDismissible)

Sets the frame layout to be swipe dismissible or not.

final @UiThread @NonNull void

Removes a callback that was added with registerCallback.

From class FrameLayout
From class View
@NonNull void
@NonNull void
@NonNull void
@NonNull ViewPropertyAnimator
@NonNull void
@NonNull void
@NonNull void
@NonNull void

This method is deprecated.

@NonNull void
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
canScrollVertically(@NonNull int direction)
final @NonNull void
@NonNull void
final @NonNull void
@NonNull boolean
@NonNull void
static @NonNull int
combineMeasuredStates(@NonNull int curState, @NonNull int newState)
@NonNull void
@NonNull WindowInsets
computeSystemWindowInsets(
    @NonNull WindowInsets in,
    @NonNull Rect outLocalInsets
)
@NonNull AccessibilityNodeInfo
@NonNull void
@NonNull void

This method is deprecated.

@NonNull boolean
@NonNull boolean
dispatchNestedFling(
    @NonNull float velocityX,
    @NonNull float velocityY,
    @NonNull boolean consumed
)
@NonNull boolean
dispatchNestedPreFling(@NonNull float velocityX, @NonNull float velocityY)
@NonNull boolean
dispatchNestedPrePerformAccessibilityAction(
    @NonNull int action,
    @NonNull Bundle arguments
)
@NonNull boolean
dispatchNestedPreScroll(
    @NonNull int dx,
    @NonNull int dy,
    @NonNull Array<@NonNull int> consumed,
    @NonNull Array<@NonNull int> offsetInWindow
)
@NonNull boolean
dispatchNestedScroll(
    @NonNull int dxConsumed,
    @NonNull int dyConsumed,
    @NonNull int dxUnconsumed,
    @NonNull int dyUnconsumed,
    @NonNull Array<@NonNull int> offsetInWindow
)
@NonNull boolean
@NonNull void
draw(@NonNull Canvas canvas)
@NonNull void
drawableHotspotChanged(@NonNull float x, @NonNull float y)
final @NonNull T
<T extends View> findViewById(@NonNull int id)
final @NonNull T
<T extends View> findViewWithTag(@NonNull Object tag)
@NonNull void
forceHasOverlappingRendering(@NonNull boolean hasOverlappingRendering)
@NonNull void
static @NonNull int
@NonNull View.AccessibilityDelegate
@NonNull int
@NonNull AccessibilityNodeProvider
@NonNull CharSequence
@NonNull int
@NonNull int
@NonNull float
@NonNull Animation
@NonNull Matrix
@NonNull IBinder
@NonNull Array<@NonNull int>
@NonNull Map<@NonNull Integer, @NonNull Integer>
@NonNull Array<@NonNull String>
final @NonNull AutofillId
@NonNull int
@NonNull AutofillValue
@NonNull Drawable
@NonNull BlendMode
@NonNull ColorStateList
@NonNull PorterDuff.Mode
@NonNull int
final @NonNull int
@NonNull float
@NonNull Rect
@NonNull boolean
final @NonNull boolean
final @NonNull ContentCaptureSession
@NonNull CharSequence
final @NonNull Context
final @NonNull boolean
static @NonNull int
getDefaultSize(@NonNull int size, @NonNull int measureSpec)
@NonNull Display
final @NonNull Array<@NonNull int>
@NonNull Bitmap

This method is deprecated.

@NonNull int

This method is deprecated.

@NonNull int

This method is deprecated.

@NonNull void
@NonNull long
@NonNull float
@NonNull int
@NonNull boolean
@NonNull boolean
@NonNull int
@NonNull ArrayList<@NonNull View>
getFocusables(@NonNull int direction)
@NonNull void
@NonNull Drawable
@NonNull int
@NonNull BlendMode
@NonNull ColorStateList
@NonNull PorterDuff.Mode
@NonNull boolean
@NonNull Handler
final @NonNull boolean
final @NonNull int
@NonNull void
@NonNull int
@NonNull Drawable
@NonNull Drawable
@NonNull int
@NonNull int
@NonNull int
@NonNull int
@NonNull boolean
@NonNull KeyEvent.DispatcherState
@NonNull int
@NonNull int
@NonNull int
@NonNull ViewGroup.LayoutParams
final @NonNull int
final @NonNull boolean
@NonNull void
@NonNull void
@NonNull void
@NonNull Matrix
final @NonNull int
final @NonNull int
final @NonNull int
final @NonNull int
final @NonNull int
@NonNull int
@NonNull int
@NonNull int
@NonNull int
@NonNull int
@NonNull int
@NonNull int
@NonNull int
@NonNull View.OnFocusChangeListener
@NonNull int
@NonNull ViewOutlineProvider
@NonNull int
@NonNull int
@NonNull ViewOverlay
@NonNull int
@NonNull int
@NonNull int
@NonNull int
@NonNull int
@NonNull int
final @NonNull ViewParent
@NonNull ViewParent
@NonNull float
@NonNull float
@NonNull PointerIcon
@NonNull Resources
final @NonNull boolean
final @NonNull int
@NonNull View
@NonNull WindowInsets
@NonNull float
@NonNull float
@NonNull float
@NonNull float
@NonNull float
@NonNull int
@NonNull int
@NonNull int
@NonNull int
@NonNull int
final @NonNull int
final @NonNull int
@NonNull int
@NonNull int
final @NonNull CharSequence
@NonNull StateListAnimator
@NonNull List<@NonNull Rect>
@NonNull int

This method is deprecated.

@NonNull Object
@NonNull int
@NonNull int
@NonNull CharSequence
final @NonNull int
@NonNull TouchDelegate
@NonNull ArrayList<@NonNull View>
@NonNull float
@NonNull String
@NonNull float
@NonNull float
@NonNull float
@NonNull long
@NonNull int
@NonNull int
@NonNull Drawable
@NonNull Drawable
@NonNull int
@NonNull ViewTreeObserver
@NonNull int
final @NonNull int
@NonNull WindowId
@NonNull WindowInsetsController
@NonNull int

This method is deprecated.

@NonNull IBinder
@NonNull int
@NonNull void
@NonNull float
@NonNull float
@NonNull float
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
static @NonNull View
inflate(
    @NonNull Context context,
    @NonNull int resource,
    @NonNull ViewGroup root
)
@NonNull void

This method is deprecated.

@NonNull void
@NonNull void
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean

This method is deprecated.

@NonNull boolean
@NonNull boolean
final @NonNull boolean
final @NonNull boolean
@NonNull boolean
final @NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
final @NonNull boolean
final @NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
final @NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
final @NonNull boolean
@NonNull boolean
@NonNull boolean
final @NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull View
keyboardNavigationClusterSearch(
    @NonNull View currentCluster,
    @NonNull int direction
)
final @NonNull void
measure(@NonNull int widthMeasureSpec, @NonNull int heightMeasureSpec)
@NonNull void
@NonNull void
@NonNull WindowInsets
@NonNull void
@NonNull boolean
@NonNull boolean
@NonNull InputConnection
@NonNull boolean
@NonNull void
@NonNull boolean
@NonNull void
@NonNull boolean
@NonNull void
onHoverChanged(@NonNull boolean hovered)
@NonNull boolean
@NonNull void
@NonNull void
@NonNull boolean
onKeyDown(@NonNull int keyCode, @NonNull KeyEvent event)
@NonNull boolean
onKeyLongPress(@NonNull int keyCode, @NonNull KeyEvent event)
@NonNull boolean
onKeyMultiple(
    @NonNull int keyCode,
    @NonNull int repeatCount,
    @NonNull KeyEvent event
)
@NonNull boolean
onKeyPreIme(@NonNull int keyCode, @NonNull KeyEvent event)
@NonNull boolean
onKeyShortcut(@NonNull int keyCode, @NonNull KeyEvent event)
@NonNull boolean
onKeyUp(@NonNull int keyCode, @NonNull KeyEvent event)
@NonNull void
onPointerCaptureChange(@NonNull boolean hasCapture)
@NonNull void
@NonNull void
onProvideAutofillStructure(
    @NonNull ViewStructure structure,
    @NonNull int flags
)
@NonNull void
onProvideAutofillVirtualStructure(
    @NonNull ViewStructure structure,
    @NonNull int flags
)
@NonNull void
onProvideContentCaptureStructure(
    @NonNull ViewStructure structure,
    @NonNull int flags
)
@NonNull void
@NonNull void
@NonNull void
onRtlPropertiesChanged(@NonNull int layoutDirection)
@NonNull void
onScreenStateChanged(@NonNull int screenState)
@NonNull void
@NonNull boolean
@NonNull boolean
@NonNull void
onVisibilityAggregated(@NonNull boolean isVisible)
@NonNull void
onWindowFocusChanged(@NonNull boolean hasWindowFocus)
@NonNull void

This method is deprecated.

@NonNull boolean
performAccessibilityAction(@NonNull int action, @NonNull Bundle arguments)
@NonNull boolean
@NonNull boolean
performContextClick(@NonNull float x, @NonNull float y)
@NonNull boolean
performHapticFeedback(@NonNull int feedbackConstant)
@NonNull boolean
@NonNull void
playSoundEffect(@NonNull int soundConstant)
@NonNull boolean
@NonNull boolean
postDelayed(@NonNull Runnable action, @NonNull long delayMillis)
@NonNull void
@NonNull void
postInvalidateDelayed(@NonNull long delayMilliseconds)
@NonNull void
@NonNull void
@NonNull void
postOnAnimationDelayed(@NonNull Runnable action, @NonNull long delayMillis)
@NonNull void
@NonNull void
@NonNull boolean
@NonNull void
@NonNull void
@NonNull void
@NonNull void
@NonNull void

This method is deprecated.

final @NonNull boolean
@NonNull void
@NonNull void
@NonNull boolean
final @NonNull void
final @NonNull T
<T extends View> requireViewById(@NonNull int id)
@NonNull void
static @NonNull int
resolveSize(@NonNull int size, @NonNull int measureSpec)
static @NonNull int
resolveSizeAndState(
    @NonNull int size,
    @NonNull int measureSpec,
    @NonNull int childMeasuredState
)
@NonNull void
final @NonNull void
saveAttributeDataForStyleable(
    @NonNull Context context,
    @NonNull Array<@NonNull int> styleable,
    @NonNull AttributeSet attrs,
    @NonNull TypedArray t,
    @NonNull int defStyleAttr,
    @NonNull int defStyleRes
)
@NonNull void
@NonNull void
scheduleDrawable(
    @NonNull Drawable who,
    @NonNull Runnable what,
    @NonNull long when
)
@NonNull void
scrollBy(@NonNull int x, @NonNull int y)
@NonNull void
scrollTo(@NonNull int x, @NonNull int y)
@NonNull void
@NonNull void
@NonNull void
@NonNull void
setAccessibilityHeading(@NonNull boolean isHeading)
@NonNull void
@NonNull void
@NonNull void
@NonNull void
@NonNull void
setActivated(@NonNull boolean activated)
@NonNull void
setAlpha(@NonNull float alpha)
@NonNull void
@NonNull void
@NonNull void
@NonNull void
@NonNull void
@NonNull void
@NonNull void

This method is deprecated.

@NonNull void
@NonNull void
@NonNull void
@NonNull void
final @NonNull void
setBottom(@NonNull int bottom)
@NonNull void
setCameraDistance(@NonNull float distance)
@NonNull void
setClickable(@NonNull boolean clickable)
@NonNull void
setClipBounds(@NonNull Rect clipBounds)
@NonNull void
setClipToOutline(@NonNull boolean clipToOutline)
@NonNull void
setContentCaptureSession(
    @NonNull ContentCaptureSession contentCaptureSession
)
@NonNull void
@NonNull void
setContextClickable(@NonNull boolean contextClickable)
@NonNull void
setDefaultFocusHighlightEnabled(
    @NonNull boolean defaultFocusHighlightEnabled
)
@NonNull void

This method is deprecated.

@NonNull void
setDrawingCacheEnabled(@NonNull boolean enabled)

This method is deprecated.

@NonNull void

This method is deprecated.

@NonNull void
@NonNull void
setElevation(@NonNull float elevation)
@NonNull void
setEnabled(@NonNull boolean enabled)
@NonNull void