EpoxyVisibilityTracker

class EpoxyVisibilityTracker

A simple way to track visibility events on com.airbnb.epoxy.EpoxyModel.

EpoxyVisibilityTracker works with any androidx.recyclerview.widget.RecyclerView backed by an Epoxy controller. Once attached the events will be forwarded to the Epoxy model (or to the Epoxy view when using annotations).

Note that support for visibility events on an EpoxyModelGroup is somewhat limited. Only model additions will receive visibility events. Models that are removed from the group will not receive events (e.g. VisibilityState.INVISIBLE) because the model group does not keep a reference, nor does it get notified of model removals.

See also

com.airbnb.epoxy.OnVisibilityChanged
com.airbnb.epoxy.OnVisibilityStateChanged

Constructors

EpoxyVisibilityTracker
Link copied to clipboard
fun EpoxyVisibilityTracker()

Types

Companion
Link copied to clipboard
object Companion

Functions

attach
Link copied to clipboard
fun attach(recyclerView: RecyclerView)
Attach the tracker.
clearVisibilityStates
Link copied to clipboard
fun clearVisibilityStates()
The tracker is storing visibility states internally and is using if to send events, only the difference is sent.
detach
Link copied to clipboard
fun detach(recyclerView: RecyclerView)
Detach the tracker
requestVisibilityCheck
Link copied to clipboard
fun requestVisibilityCheck()
Calling this method will make the visibility tracking check and trigger events if necessary.

Properties

onChangedEnabled
Link copied to clipboard
var onChangedEnabled: Boolean = true
Enable or disable visibility changed event.
partialImpressionThresholdPercentage
Link copied to clipboard
var partialImpressionThresholdPercentage: Int? = null
Set the threshold of percentage visible area to identify the partial impression view state.