FragmentContainerView


class FragmentContainerView : FrameLayout


FragmentContainerView is a customized Layout designed specifically for Fragments. It extends FrameLayout, so it can reliably handle Fragment Transactions, and it also has additional features to coordinate with fragment behavior.

FragmentContainerView should be used as the container for Fragments, commonly set in the xml layout of an activity, e.g.:

<androidx.fragment.app.FragmentContainerView
xmlns
:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/fragment_container_view"
android:layout_width="match_parent"
android:layout_height="match_parent">
</androidx.fragment.app.FragmentContainerView>

FragmentContainerView can also be used to add a Fragment by using the android:name attribute. FragmentContainerView will perform a one time operation that:

  1. Creates a new instance of the Fragment

  2. Calls Fragment.onInflate

  3. Executes a FragmentTransaction to add the Fragment to the appropriate FragmentManager

You can optionally include an android:tag which allows you to use FragmentManager.findFragmentByTag to retrieve the added Fragment.

<androidx.fragment.app.FragmentContainerView
xmlns
:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/fragment_container_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.example.MyFragment"
android:tag="my_tag">
</androidx.fragment.app.FragmentContainerView>

FragmentContainerView should not be used as a replacement for other ViewGroups (FrameLayout, LinearLayout, etc) outside of Fragment use cases.

FragmentContainerView will only allow views returned by a Fragment's Fragment.onCreateView. Attempting to add any other view will result in an IllegalStateException.

Layout animations and transitions are disabled for FragmentContainerView for APIs above 17. Otherwise, Animations should be done through FragmentTransaction.setCustomAnimations. If animateLayoutChanges is set to true or setLayoutTransition is called directly an UnsupportedOperationException will be thrown.

Fragments using exit animations are drawn before all others for FragmentContainerView. This ensures that exiting Fragments do not appear on top of the view.

Summary

Public constructors

FragmentContainerView(
    context: Context,
    attrs: AttributeSet?,
    defStyleAttr: Int
)

Do not call this constructor directly.

Public functions

open Unit
addView(child: View, index: Int, params: ViewGroup.LayoutParams?)

FragmentContainerView will only allow views returned by a Fragment's Fragment.onCreateView.

open WindowInsets

{@inheritDoc}

open Unit
F

This method grabs the Fragment whose view was most recently added to the container.

open WindowInsets
open Unit
open Unit
open Unit
removeViewAt(index: Int)
open Unit
open Unit
removeViews(start: Int, count: Int)
open Unit
removeViewsInLayout(start: Int, count: Int)
open Unit

When called, this method throws a UnsupportedOperationException on APIs above 17.

open Unit
open Unit

Protected functions

open Unit
open Boolean
drawChild(canvas: Canvas, child: View, drawingTime: Long)

Inherited functions

From android.widget.FrameLayout
From android.view.View
Unit
addFocusables(views: ArrayList<View>, direction: Int)
Unit
Unit
Unit
ViewPropertyAnimator
Unit
Unit
Unit
Boolean
Boolean
awakenScrollBars(startDelay: Int)
Boolean
awakenScrollBars(startDelay: Int, invalidate: Boolean)
Unit
Unit
Unit
Unit
Boolean
open Boolean
open Boolean
open Boolean
Boolean
Boolean
Unit
Unit
Unit
Boolean
Unit
Unit
Unit
Int
Int
Int
Unit
WindowInsets
Int
Int
Int
AccessibilityNodeInfo
open Unit
Unit
Boolean
Boolean
dispatchNestedFling(velocityX: Float, velocityY: Float, consumed: Boolean)
Boolean
dispatchNestedPreFling(velocityX: Float, velocityY: Float)
Boolean
dispatchNestedPrePerformAccessibilityAction(
    action: Int,
    arguments: Bundle?
)
Boolean
dispatchNestedPreScroll(
    dx: Int,
    dy: Int,
    consumed: IntArray?,
    offsetInWindow: IntArray?
)
Boolean
dispatchNestedScroll(
    dxConsumed: Int,
    dyConsumed: Int,
    dxUnconsumed: Int,
    dyUnconsumed: Int,
    offsetInWindow: IntArray?
)
Boolean
Unit
draw(canvas: Canvas)
Unit
OnBackInvokedDispatcher?
T
<T : View> findViewById(id: Int)
T
<T : View> findViewWithTag(tag: Any)
Boolean
View
focusSearch(direction: Int)
Unit
forceHasOverlappingRendering(hasOverlappingRendering: Boolean)
Unit
Unit
generateDisplayHash(
    hashAlgorithm: String,
    bounds: Rect?,
    executor: Executor,
    callback: DisplayHashResultCallback
)
IntArray
Boolean
getClipBounds(outRect: Rect)
Bitmap
Unit
getDrawingRect(outRect: Rect)
ArrayList<View>
getFocusables(direction: Int)
Unit
Boolean
Boolean
getGlobalVisibleRect(r: Rect, globalOffset: Point)
Unit
getHitRect(outRect: Rect)
open Int
@ViewDebug.ExportedProperty(category = "layout", mapping = [@ViewDebug.IntToString(from = 0, to = "RESOLVED_DIRECTION_LTR"), @ViewDebug.IntToString(from = 1, to = "RESOLVED_DIRECTION_RTL")])
getLayoutDirection()
Boolean
Unit
Unit
Unit
ViewParent
open ViewParent
Any
getTag(key: Int)
open Int
@ViewDebug.ExportedProperty(category = "text", mapping = [@ViewDebug.IntToString(from = 0, to = "INHERIT"), @ViewDebug.IntToString(from = 1, to = "GRAVITY"), @ViewDebug.IntToString(from = 2, to = "TEXT_START"), @ViewDebug.IntToString(from = 3, to = "TEXT_END"), @ViewDebug.IntToString(from = 4, to = "CENTER"), @ViewDebug.IntToString(from = 5, to = "VIEW_START"), @ViewDebug.IntToString(from = 6, to = "VIEW_END")])
getTextAlignment()
open Int
@ViewDebug.ExportedProperty(category = "text", mapping = [@ViewDebug.IntToString(from = 0, to = "INHERIT"), @ViewDebug.IntToString(from = 1, to = "FIRST_STRONG"), @ViewDebug.IntToString(from = 2, to = "ANY_RTL"), @ViewDebug.IntToString(from = 3, to = "LTR"), @ViewDebug.IntToString(from = 4, to = "RTL"), @ViewDebug.IntToString(from = 5, to = "LOCALE"), @ViewDebug.IntToString(from = 6, to = "FIRST_STRONG_LTR"), @ViewDebug.IntToString(from = 7, to = "FIRST_STRONG_RTL")])
getTextDirection()
Unit
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Unit
Unit
invalidate(dirty: Rect)
Unit
invalidate(l: Int, t: Int, r: Int, b: Int)
Unit
Unit
open Boolean
open Boolean
open Boolean
open Boolean
Boolean
open View
keyboardNavigationClusterSearch(currentCluster: View, direction: Int)
Unit
measure(widthMeasureSpec: Int, heightMeasureSpec: Int)
Unit
Unit
Unit
Unit
Unit
Boolean
Boolean
Unit
Unit
InputConnection
Unit
onCreateViewTranslationRequest(
    supportedFormats: IntArray,
    requestsCollector: Consumer<ViewTranslationRequest>
)
Unit
onCreateVirtualViewTranslationRequests(
    virtualIds: LongArray,
    supportedFormats: IntArray,
    requestsCollector: Consumer<ViewTranslationRequest>
)
Unit
Boolean
Unit
onDraw(canvas: Canvas)
Unit
Unit
Boolean
Unit
Unit
Unit
onFocusChanged(
    gainFocus: Boolean,
    direction: Int,
    previouslyFocusedRect: Rect?
)
Boolean
Unit
Boolean
Unit
Unit
Boolean
onKeyDown(keyCode: Int, event: KeyEvent)
Boolean
onKeyLongPress(keyCode: Int, event: KeyEvent)
Boolean
onKeyMultiple(keyCode: Int, repeatCount: Int, event: KeyEvent)
Boolean
onKeyPreIme(keyCode: Int, event: KeyEvent)
Boolean
onKeyShortcut(keyCode: Int, event: KeyEvent)
Boolean
onKeyUp(keyCode: Int, event: KeyEvent)
Unit
onOverScrolled(
    scrollX: Int,
    scrollY: Int,
    clampedX: Boolean,
    clampedY: Boolean
)
Unit
Unit
Unit
Unit
Unit
Unit
Unit
ContentInfo?
Unit
Unit
onRtlPropertiesChanged(layoutDirection: Int)
Parcelable?
Unit
onScreenStateChanged(screenState: Int)
Unit
onScrollCaptureSearch(
    localVisibleRect: Rect,
    windowOffset: Point,
    targets: Consumer<ScrollCaptureTarget>
)
Unit
onScrollChanged(l: Int, t: Int, oldl: Int, oldt: Int)
Boolean
onSetAlpha(alpha: Int)
Unit
onSizeChanged(w: Int, h: Int, oldw: Int, oldh: Int)
Unit
Boolean
Boolean
Unit
Unit
Unit
Unit
onVisibilityChanged(changedView: View, visibility: Int)
Unit
onWindowFocusChanged(hasWindowFocus: Boolean)
Unit
Unit
Boolean
overScrollBy(
    deltaX: Int,
    deltaY: Int,
    scrollX: Int,
    scrollY: Int,
    scrollRangeX: Int,
    scrollRangeY: Int,
    maxOverScrollX: Int,
    maxOverScrollY: Int,
    isTouchEvent: Boolean
)
Boolean
performAccessibilityAction(action: Int, arguments: Bundle?)
Boolean
Boolean
Boolean
Boolean
performHapticFeedback(feedbackConstant: Int)
Boolean
Boolean
performHapticFeedback(feedbackConstant: Int, flags: Int)
Boolean
Boolean
ContentInfo?
Unit
playSoundEffect(soundConstant: Int)
Boolean
post(action: Runnable)
Boolean
postDelayed(action: Runnable, delayMillis: Long)
Unit
Unit
postInvalidate(left: Int, top: Int, right: Int, bottom: Int)
Unit
postInvalidateDelayed(delayMilliseconds: Long)
Unit
postInvalidateDelayed(
    delayMilliseconds: Long,
    left: Int,
    top: Int,
    right: Int,
    bottom: Int
)
Unit
Unit
postInvalidateOnAnimation(left: Int, top: Int, right: Int, bottom: Int)
Unit
Unit
postOnAnimationDelayed(action: Runnable, delayMillis: Long)
Unit
Unit
Boolean
Unit
Unit
Unit
Unit
Unit
open Unit

This function is deprecated. Deprecated in Java

Boolean
Boolean
requestFocus(direction: Int)
Boolean
open Unit
Unit
Unit
Boolean
Boolean
requestRectangleOnScreen(rectangle: Rect, immediate: Boolean)
Boolean
requestRectangleOnScreen(rectangle: Rect, immediate: Boolean, source: Int)
Unit
Unit
T
<T : View> requireViewById(id: Int)
Unit
Unit
Unit
saveAttributeDataForStyleable(
    context: Context,
    styleable: IntArray,
    attrs: AttributeSet?,
    t: TypedArray,
    defStyleAttr: Int,
    defStyleRes: Int
)
Unit
Unit
scheduleDrawable(who: Drawable, what: Runnable, when: Long)
Unit
scrollBy(x: Int, y: Int)
Unit
scrollTo(x: Int, y: Int)
Unit
Unit
Unit
setAccessibilityDataSensitive(accessibilityDataSensitive: Int)
Unit
setAllowClickWhenDisabled(clickableWhenDisabled: Boolean)
Unit
Unit
Unit
setAutofillHints(vararg autofillHints: String)
Unit
Unit
Unit
Unit
Unit
setHandwritingBoundsOffsets(
    offsetLeft: Float,
    offsetTop: Float,
    offsetRight: Float,
    offsetBottom: Float
)
Unit
setHasTransientState(hasTransientState: Boolean)
Unit
setIsCredential(isCredential: Boolean)
Unit
setIsHandwritingDelegate(isHandwritingDelegate: Boolean)
Unit
Unit
setLayerType(layerType: Int, paint: Paint?)
Unit
setLeftTopRightBottom(left: Int, top: Int, right: Int, bottom: Int)
Unit
setMeasuredDimension(measuredWidth: Int, measuredHeight: Int)
Unit
Unit
Unit
Unit
Unit
Unit
Unit
Unit
Unit
Unit
setOnReceiveContentListener(
    mimeTypes: Array<String>?,
    listener: OnReceiveContentListener?
)
Unit
Unit
Unit
Unit
setPadding(left: Int, top: Int, right: Int, bottom: Int)
Unit
setPaddingRelative(start: Int, top: Int, end: Int, bottom: Int)
Unit
Unit
setRenderEffect(renderEffect: RenderEffect?)
Unit
Unit
setScrollIndicators(indicators: Int, mask: Int)
Unit
setTag(key: Int, tag: Any)
Unit
Unit
Unit
setWillNotCacheDrawing(willNotCacheDrawing: Boolean)
Unit
setWillNotDraw(willNotDraw: Boolean)
Boolean
Boolean
ActionMode
ActionMode
Unit
Boolean
startDrag(
    data: ClipData,
    shadowBuilder: View.DragShadowBuilder,
    myLocalState: Any,
    flags: Int
)
Boolean
startDragAndDrop(
    data: ClipData,
    shadowBuilder: View.DragShadowBuilder,
    myLocalState: Any,
    flags: Int
)
Boolean
Unit
open String
Unit
Unit
Unit
Unit
Unit
Boolean
Boolean
Boolean
From android.view.ViewGroup
Unit
Unit
addExtraDataToAccessibilityNodeInfo(
    info: AccessibilityNodeInfo,
    extraDataKey: String,
    arguments: Bundle?
)
Unit
addFocusables(views: ArrayList<View>, direction: Int, focusableMode: Int)
Unit
addKeyboardNavigationClusters(
    views: MutableCollection<View>,
    direction: Int
)
Boolean
Unit
Unit
addView(child: View)
Unit
addView(child: View, index: Int)
Unit
addView(child: View, params: ViewGroup.LayoutParams)
Unit
addView(child: View, width: Int, height: Int)
Boolean
addViewInLayout(child: View, index: Int, params: ViewGroup.LayoutParams)
Boolean
addViewInLayout(
    child: View,
    index: Int,
    params: ViewGroup.LayoutParams,
    preventRequestLayout: Boolean
)
Unit
attachLayoutAnimationParameters(
    child: View,
    params: ViewGroup.LayoutParams,
    index: Int,
    count: Int
)
Unit
attachViewToParent(child: View, index: Int, params: ViewGroup.LayoutParams)
Unit
Boolean
Unit
Unit
childHasTransientStateChanged(
    child: View,
    childHasTransientState: Boolean
)
Unit
Unit
Unit
Unit
Unit
debug(depth: Int)
Unit
Unit
Unit
Unit
detachViewsFromParent(start: Int, count: Int)
Boolean
Unit
Unit
dispatchCreateViewTranslationRequest(
    viewIds: MutableMap<AutofillIdLongArray>,
    supportedFormats: IntArray,
    capability: TranslationCapability,
    requests: MutableList<ViewTranslationRequest>
)
Unit
Boolean
Unit
Unit
Unit
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Unit
Unit
Unit
Unit
Unit
Unit
dispatchScrollCaptureSearch(
    localVisibleRect: Rect,
    windowOffset: Point,
    targets: Consumer<ScrollCaptureTarget>
)
Unit
Unit
Unit
Unit
Unit
Unit
Boolean
Boolean
Boolean
dispatchUnhandledMove(focused: View, direction: Int)
Unit
dispatchVisibilityChanged(changedView: View, visibility: Int)
Unit
Unit
Unit
WindowInsets
WindowInsetsAnimation.Bounds
Unit
Unit
Unit
View
OnBackInvokedDispatcher?
Unit
findViewsWithText(
    outViews: ArrayList<View>,
    text: CharSequence,
    flags: Int
)
View
focusSearch(focused: View, direction: Int)
Unit
Boolean
View
getChildAt(index: Int)
Int
getChildDrawingOrder(drawingPosition: Int)
Int
getChildDrawingOrder(childCount: Int, drawingPosition: Int)
Boolean
Boolean
getChildVisibleRect(child: View, r: Rect, offset: Point)
Boolean
Boolean
Int
Unit
invalidateChild(child: View, dirty: Rect)
ViewParent
invalidateChildInParent(location: IntArray, dirty: Rect)
Unit
Unit
layout(l: Int, t: Int, r: Int, b: Int)
Unit
measureChild(
    child: View,
    parentWidthMeasureSpec: Int,
    parentHeightMeasureSpec: Int
)
Unit
measureChildWithMargins(
    child: View,
    parentWidthMeasureSpec: Int,
    widthUsed: Int,
    parentHeightMeasureSpec: Int,
    heightUsed: Int
)
Unit
measureChildren(widthMeasureSpec: Int, heightMeasureSpec: Int)
Unit
notifySubtreeAccessibilityStateChanged(
    child: View,
    source: View,
    changeType: Int
)
Unit
Unit
Unit
IntArray
Unit
onDescendantInvalidated(child: View, target: View)
Unit
Boolean
Boolean
Boolean
onNestedFling(
    target: View,
    velocityX: Float,
    velocityY: Float,
    consumed: Boolean
)
Boolean
onNestedPreFling(target: View, velocityX: Float, velocityY: Float)
Boolean
onNestedPrePerformAccessibilityAction(
    target: View,
    action: Int,
    args: Bundle?
)
Unit
onNestedPreScroll(target: View, dx: Int, dy: Int, consumed: IntArray)
Unit
onNestedScroll(
    target: View,
    dxConsumed: Int,
    dyConsumed: Int,
    dxUnconsumed: Int,
    dyUnconsumed: Int
)
Unit
onNestedScrollAccepted(child: View, target: View, axes: Int)
Boolean
onRequestFocusInDescendants(direction: Int, previouslyFocusedRect: Rect)
Boolean
PointerIcon
onResolvePointerIcon(event: MotionEvent, pointerIndex: Int)
Boolean
onStartNestedScroll(child: View, target: View, nestedScrollAxes: Int)
Unit
Unit
onViewAdded(child: View)
Unit
Unit
propagateRequestedFrameRate(frameRate: Float, forceOverride: Boolean)
Unit
Unit
Unit
removeDetachedView(child: View, animate: Boolean)
Unit
requestChildFocus(child: View, focused: View)
Boolean
requestChildRectangleOnScreen(
    child: View,
    rectangle: Rect,
    immediate: Boolean
)
Unit
Boolean
requestFocus(direction: Int, previouslyFocusedRect: Rect)
Boolean
Unit
Boolean
Unit
Unit
Unit
Unit
Unit
Unit
Boolean
Boolean
showContextMenuForChild(originalView: View, x: Float, y: Float)
ActionMode
startActionModeForChild(
    originalView: View,
    callback: ActionMode.Callback
)
ActionMode
startActionModeForChild(
    originalView: View,
    callback: ActionMode.Callback,
    type: Int
)
Unit
Unit
Unit
From android.view.ViewParent
Boolean
requestChildRectangleOnScreen(
    child: View,
    rectangle: Rect,
    immediate: Boolean,
    source: Int
)

Inherited properties

From android.widget.FrameLayout
From android.view.View
open View.AccessibilityDelegate
open Int
open AccessibilityNodeProvider
open CharSequence?
open Int
open Int
open String?
open String?
open Float
open Animation
open Matrix?
open IBinder
open MutableMap<IntInt>
open Array<String>?
AutofillId
open Int
open AutofillValue?
open Drawable
open BlendMode?
open ColorStateList?
open PorterDuff.Mode?
open Int
Int
open Float
open Int
open Float
open Rect
Boolean
ContentCaptureSession?
open CharSequence
Int
Context
open ContextMenu.ContextMenuInfo
Boolean
open Display
IntArray
open Bitmap
open Int
open Int
open Long
open Float
open Int
open Boolean
open Boolean
open Int
open Drawable
open Int
open BlendMode?
open ColorStateList?
open PorterDuff.Mode?
open Float
open Handler
open Float
open Float
open Float
open Float
open Int
open Runnable?
Boolean
Int
open Int
open Int
open Drawable?
open Drawable?
open Int
open Int
open Int
open Int
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
Boolean
Boolean
open Boolean
Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
Boolean
Boolean
open Boolean
open Boolean
open Boolean
Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
Boolean
open Boolean
open Boolean
Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open KeyEvent.DispatcherState
open Int
open Int
open Int
open ViewGroup.LayoutParams
Int
open Float
open Int
open Matrix
Int
Int
Int
Int
Int
open Int
open Int
open Int
open Int
open Int
open Int
open Int
open Int
open View.OnFocusChangeListener
open Int
open ViewOutlineProvider
open Int
open Int
open Int
open Int
open Int
open Int
open Int
open Int
final ViewParent
open ViewParent
OutcomeReceiver<GetCredentialResponseGetCredentialException>?
GetCredentialRequest?
open Float
open Float
open PointerIcon
MutableList<Rect>
open Array<String>?
open Float
open Resources
Boolean
Int
open Float
open Int
open AttachedSurfaceControl?
open View
open WindowInsets
open Float
open Float
open Float
open Float
open Float
open Int
open Int
open Int
open Int
open Int
open Int
Int
Int
open Int
open Int
CharSequence?
open StateListAnimator
open Int
open Int
open CharSequence?
open MutableList<Rect>
open Int
open Any
open Int
open Int
open CharSequence?
Int
open Float
open Int
open TouchDelegate
open ArrayList<View>
open Float
open String
open Float
open Float
open Float
open Long
open Int
open Int
open Drawable?
open Drawable?
open Int
open ViewTranslationResponse?
open ViewTreeObserver
open Int
Int
open Int
open WindowId
open WindowInsetsController?
open Int
open IBinder
open Int
open Float
open Float
open Float
From android.view.ViewGroup

Public constructors

FragmentContainerView

Added in 1.2.0
FragmentContainerView(context: Context)

FragmentContainerView

Added in 1.2.0
FragmentContainerView(
    context: Context,
    attrs: AttributeSet?,
    defStyleAttr: Int = 0
)

Do not call this constructor directly. Doing so will result in an UnsupportedOperationException.

Public functions

addView

open fun addView(child: View, index: Int, params: ViewGroup.LayoutParams?): Unit

FragmentContainerView will only allow views returned by a Fragment's Fragment.onCreateView. Attempting to add any other view will result in an IllegalStateException.

{@inheritDoc}

dispatchApplyWindowInsets

open fun dispatchApplyWindowInsets(insets: WindowInsets): WindowInsets

{@inheritDoc}

The sys ui flags must be set to enable extending the layout into the window insets.

endViewTransition

open fun endViewTransition(view: View): Unit

getFragment

Added in 1.4.0
fun <F : Fragment?> getFragment(): F

This method grabs the Fragment whose view was most recently added to the container. This may used as an alternative to calling FragmentManager.findFragmentById and passing in the FragmentContainerView's id.

Returns
F

The fragment if any exist, null otherwise.

onApplyWindowInsets

open fun onApplyWindowInsets(insets: WindowInsets): WindowInsets

removeAllViewsInLayout

open fun removeAllViewsInLayout(): Unit

removeView

open fun removeView(view: View): Unit

removeViewAt

open fun removeViewAt(index: Int): Unit

removeViewInLayout

open fun removeViewInLayout(view: View): Unit

removeViews

open fun removeViews(start: Int, count: Int): Unit

removeViewsInLayout

open fun removeViewsInLayout(start: Int, count: Int): Unit

setLayoutTransition

open fun setLayoutTransition(transition: LayoutTransition?): Unit

When called, this method throws a UnsupportedOperationException on APIs above 17. On APIs 17 and below, it calls FrameLayout.setLayoutTransition. This can be called either explicitly, or implicitly by setting animateLayoutChanges to true.

View animations and transitions are disabled for FragmentContainerView for APIs above 17. Use FragmentTransaction.setCustomAnimations and FragmentTransaction.setTransition.

ref android.R.styleable#ViewGroup_animateLayoutChanges

Parameters
transition: LayoutTransition?

The LayoutTransition object that will animated changes in layout. A value of null means no transition will run on layout changes.

setOnApplyWindowInsetsListener

open fun setOnApplyWindowInsetsListener(
    listener: View.OnApplyWindowInsetsListener?
): Unit

startViewTransition

open fun startViewTransition(view: View): Unit

Protected functions

dispatchDraw

protected open fun dispatchDraw(canvas: Canvas): Unit

drawChild

protected open fun drawChild(canvas: Canvas, child: View, drawingTime: Long): Boolean