{% setvar book_path %}/reference/androidx/_book.yaml{% endsetvar %} {% include "_shared/_reference-head-tags.html" %}

PointerEventPass

public enum PointerEventPass extends Enum

java.lang.Object
   ↳ kotlin.Enum
     ↳ androidx.compose.ui.input.pointer.PointerEventPass

The enumeration of passes where PointerInputChange traverses up and down the UI tree.

PointerInputChanges traverse throw the hierarchy in the following passes:

  1. Initial: Down the tree from ancestor to descendant.

  2. Main: Up the tree from descendant to ancestor.

  3. Final: Down the tree from ancestor to descendant.

These passes serve the following purposes:

  1. Initial: Allows ancestors to consume aspects of PointerInputChange before descendants. This is where, for example, a scroller may block buttons from getting tapped by other fingers once scrolling has started.

  2. Main: The primary pass where gesture filters should react to and consume aspects of PointerInputChanges. This is the primary path where descendants will interact with PointerInputChanges before parents. This allows for buttons to respond to a tap before a container of the bottom to respond to a tap.

  3. Final: This pass is where children can learn what aspects of PointerInputChanges were consumed by parents during the Main pass. For example, this is how a button determines that it should no longer respond to fingers lifting off of it because a parent scroller has consumed movement in a PointerInputChange.

Summary

Enum Values

Final
Initial
Main

Public methods

final @NonNull EnumEntries<@NonNull PointerEventPass>

The enumeration of passes where PointerInputChange traverses up and down the UI tree.

final @NonNull PointerEventPass

Returns the enum constant of this type with the specified name.

final @NonNull PointerEventPass[]

Returns an array containing the constants of this enum type, in the order they're declared.

Enum Values

Final

PointerEventPass PointerEventPass.Final

Initial

PointerEventPass PointerEventPass.Initial

Main

PointerEventPass PointerEventPass.Main

Public methods

getEntries

public final @NonNull EnumEntries<@NonNull PointerEventPassgetEntries()

The enumeration of passes where PointerInputChange traverses up and down the UI tree.

PointerInputChanges traverse throw the hierarchy in the following passes:

  1. Initial: Down the tree from ancestor to descendant.

  2. Main: Up the tree from descendant to ancestor.

  3. Final: Down the tree from ancestor to descendant.

These passes serve the following purposes:

  1. Initial: Allows ancestors to consume aspects of PointerInputChange before descendants. This is where, for example, a scroller may block buttons from getting tapped by other fingers once scrolling has started.

  2. Main: The primary pass where gesture filters should react to and consume aspects of PointerInputChanges. This is the primary path where descendants will interact with PointerInputChanges before parents. This allows for buttons to respond to a tap before a container of the bottom to respond to a tap.

  3. Final: This pass is where children can learn what aspects of PointerInputChanges were consumed by parents during the Main pass. For example, this is how a button determines that it should no longer respond to fingers lifting off of it because a parent scroller has consumed movement in a PointerInputChange.

valueOf

public final @NonNull PointerEventPass valueOf(@NonNull String value)

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws
kotlin.IllegalArgumentException

if this enum type has no constant with the specified name

values

public final @NonNull PointerEventPass[] values()

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.