inboxrecyclerview / me.saket.inboxrecyclerview.page / BaseExpandablePageLayout

BaseExpandablePageLayout

abstract class BaseExpandablePageLayout : RelativeLayout

Animating change in dimensions by changing the actual width and height is expensive. This layout animates change in dimensions by clipping visible bounds instead.

Constructors

<init>

BaseExpandablePageLayout(context: Context, attrs: AttributeSet? = null)

Animating change in dimensions by changing the actual width and height is expensive. This layout animates change in dimensions by clipping visible bounds instead.

Properties

animationDurationMillis

var animationDurationMillis: Long

animationInterpolator

var animationInterpolator: TimeInterpolator

clippedDimens

val clippedDimens: Rect

The visible portion of this layout.

Functions

animateDimensions

fun animateDimensions(toWidth: Int, toHeight: Int): Unit

onSizeChanged

open fun onSizeChanged(w: Int, h: Int, oldw: Int, oldh: Int): Unit

resetClipping

fun resetClipping(): Unit

Immediately reset the clipping so that this layout is fully visible.

setClippedDimensions

fun setClippedDimensions(newClippedWidth: Int, newClippedHeight: Int): Unit

Extension Functions

executeOnMeasure

fun View.executeOnMeasure(listener: () -> Unit): Unit

Execute a runnable when a view's dimensions get measured and is laid out on the screen.

executeOnNextLayout

fun View.executeOnNextLayout(listener: () -> Unit): Unit

Execute a runnable when the next global layout happens for a View. Example usage includes waiting for a list to draw its children just after you have updated its adapter's data-set.

globalVisibleRect

fun View.globalVisibleRect(): RectF

Inheritors

ExpandablePageLayout

open class ExpandablePageLayout : BaseExpandablePageLayout, OnPullListener

An expandable / collapsible layout for use with a InboxRecyclerView.