FlowOnHierarchyChangeListener

class FlowOnHierarchyChangeListener(recursive: Boolean = false, _onChildViewAdded: MutableSharedFlow<Pair<View, View>> = MutableSharedFlow(extraBufferCapacity = Int.MAX_VALUE), _onChildViewRemoved: MutableSharedFlow<Pair<View, View>> = MutableSharedFlow(extraBufferCapacity = Int.MAX_VALUE)) : ViewGroup.OnHierarchyChangeListener(source)

kotlinx.coroutines.flow.Flow-based android.view.ViewGroup.OnHierarchyChangeListener

Parameters

recursive

If set, any call of onChildViewAdded will check if child View is ViewGroup and subscribe to this ViewGroup too

_onChildViewAdded

Internal MutableSharedFlow which will be used to pass data to onChildViewAdded flow

_onChildViewRemoved

Internal MutableSharedFlow which will be used to pass data to onChildViewRemoved flow

Constructors

Link copied to clipboard
constructor(recursive: Boolean = false, _onChildViewAdded: MutableSharedFlow<Pair<View, View>> = MutableSharedFlow(extraBufferCapacity = Int.MAX_VALUE), _onChildViewRemoved: MutableSharedFlow<Pair<View, View>> = MutableSharedFlow(extraBufferCapacity = Int.MAX_VALUE))

Properties

Link copied to clipboard
val onChildViewAdded: SharedFlow<Pair<View, View>>
Link copied to clipboard
val onChildViewRemoved: SharedFlow<Pair<View, View>>

Functions

Link copied to clipboard
open override fun onChildViewAdded(parent: View, child: View)

Will emit data into onChildViewAdded flow. If recursive is true and child is ViewGroup will also subscribe to child hierarchy changes.

Link copied to clipboard
open override fun onChildViewRemoved(parent: View, child: View)

Just emit data into onChildViewRemoved