Listener for applying window insets on a view in a custom way.
Apps may choose to implement this interface if they want to apply custom policy
to the way that window insets are treated for a view. If an OnApplyWindowInsetsListener
is set, its
onApplyWindowInsets
method will be called instead of the View's own onApplyWindowInsets method.
The listener may optionally call the parameter View's onApplyWindowInsets
method to apply the View's normal behavior as part of its own.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[],null,["# OnApplyWindowInsetsListener\n\nadded in [version 22.1.0](/topic/libraries/support-library/revisions) \nbelongs to Maven artifact com.android.support:support-compat:28.0.0-alpha1 \n\nOnApplyWindowInsetsListener\n===========================\n\n| This package is part of the Android [support library](/topic/libraries/support-library) which is no longer maintained. The support library has been superseded by [AndroidX](/jetpack/androidx) which is part of [Jetpack](/jetpack). We recommend using the AndroidX libraries in all new projects. You should also consider [migrating](/jetpack/androidx/migrate) existing projects to AndroidX. To find the AndroidX class that maps to this deprecated class, see the AndroidX support library [class\n| mappings](/jetpack/androidx/migrate/class-mappings).\n\n\n`\npublic\n\n\ninterface\nOnApplyWindowInsetsListener\n`\n\n\n`\n\n\n`\n\n|-----------------------------------------------------|\n| android.support.v4.view.OnApplyWindowInsetsListener |\n\n\u003cbr /\u003e\n\n*** ** * ** ***\n\nListener for applying window insets on a view in a custom way.\n\nApps may choose to implement this interface if they want to apply custom policy\nto the way that window insets are treated for a view. If an OnApplyWindowInsetsListener\nis set, its\n[onApplyWindowInsets](/reference/android/support/v4/view/OnApplyWindowInsetsListener#onApplyWindowInsets(android.view.View, android.support.v4.view.WindowInsetsCompat))\nmethod will be called instead of the View's own `onApplyWindowInsets` method.\nThe listener may optionally call the parameter View's `onApplyWindowInsets`\nmethod to apply the View's normal behavior as part of its own.\n\n\u003cbr /\u003e\n\nSummary\n-------\n\n| ### Public methods ||\n|-----------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ` abstract `[WindowInsetsCompat](/reference/android/support/v4/view/WindowInsetsCompat) | ` `[onApplyWindowInsets](/reference/android/support/v4/view/OnApplyWindowInsetsListener#onApplyWindowInsets(android.view.View, android.support.v4.view.WindowInsetsCompat))`(`[View](https://developer.android.com/reference/android/view/View.html)` v, `[WindowInsetsCompat](/reference/android/support/v4/view/WindowInsetsCompat)` insets) ` When [set](/reference/android/support/v4/view/ViewCompat#setOnApplyWindowInsetsListener(android.view.View, android.support.v4.view.OnApplyWindowInsetsListener)) on a View, this listener method will be called instead of the view's own `onApplyWindowInsets` method. |\n\nPublic methods\n--------------\n\n### onApplyWindowInsets\n\nadded in [version 22.1.0](/topic/libraries/support-library/revisions) \n\n```\nWindowInsetsCompat onApplyWindowInsets (View v, \n WindowInsetsCompat insets)\n```\n\nWhen [set](/reference/android/support/v4/view/ViewCompat#setOnApplyWindowInsetsListener(android.view.View, android.support.v4.view.OnApplyWindowInsetsListener))\non a View, this listener method will be called instead of the view's own\n`onApplyWindowInsets` method.\n\n\u003cbr /\u003e\n\n| Parameters ||\n|----------|--------------------------------------------------|\n| `v` | `View`: The view applying window insets \u003cbr /\u003e |\n| `insets` | `WindowInsetsCompat`: The insets to apply \u003cbr /\u003e |\n\n| Returns ||\n|-----------------------------------------------------------------------------|-----------------------------------------------------------------|\n| [WindowInsetsCompat](/reference/android/support/v4/view/WindowInsetsCompat) | The insets supplied, minus any insets that were consumed \u003cbr /\u003e |\n\n-\n\n Annotations\n -----------\n\n - [ViewPager.DecorView](/reference/android/support/v4/view/ViewPager.DecorView)\n-\n\n Interfaces\n ----------\n\n - [ActionProvider.VisibilityListener](/reference/android/support/v4/view/ActionProvider.VisibilityListener)\n - [AsyncLayoutInflater.OnInflateFinishedListener](/reference/android/support/v4/view/AsyncLayoutInflater.OnInflateFinishedListener)\n - [LayoutInflaterFactory](/reference/android/support/v4/view/LayoutInflaterFactory)\n - [MenuItemCompat.OnActionExpandListener](/reference/android/support/v4/view/MenuItemCompat.OnActionExpandListener)\n - [NestedScrollingChild](/reference/android/support/v4/view/NestedScrollingChild)\n - [NestedScrollingChild2](/reference/android/support/v4/view/NestedScrollingChild2)\n - [NestedScrollingParent](/reference/android/support/v4/view/NestedScrollingParent)\n - [NestedScrollingParent2](/reference/android/support/v4/view/NestedScrollingParent2)\n - [OnApplyWindowInsetsListener](/reference/android/support/v4/view/OnApplyWindowInsetsListener)\n - [ScrollingView](/reference/android/support/v4/view/ScrollingView)\n - [TintableBackgroundView](/reference/android/support/v4/view/TintableBackgroundView)\n - [ViewPager.OnAdapterChangeListener](/reference/android/support/v4/view/ViewPager.OnAdapterChangeListener)\n - [ViewPager.OnPageChangeListener](/reference/android/support/v4/view/ViewPager.OnPageChangeListener)\n - [ViewPager.PageTransformer](/reference/android/support/v4/view/ViewPager.PageTransformer)\n - [ViewPropertyAnimatorListener](/reference/android/support/v4/view/ViewPropertyAnimatorListener)\n - [ViewPropertyAnimatorUpdateListener](/reference/android/support/v4/view/ViewPropertyAnimatorUpdateListener)\n-\n\n Classes\n -------\n\n - [AbsSavedState](/reference/android/support/v4/view/AbsSavedState)\n - [AccessibilityDelegateCompat](/reference/android/support/v4/view/AccessibilityDelegateCompat)\n - [ActionProvider](/reference/android/support/v4/view/ActionProvider)\n - [AsyncLayoutInflater](/reference/android/support/v4/view/AsyncLayoutInflater)\n - [GestureDetectorCompat](/reference/android/support/v4/view/GestureDetectorCompat)\n - [GravityCompat](/reference/android/support/v4/view/GravityCompat)\n - [InputDeviceCompat](/reference/android/support/v4/view/InputDeviceCompat)\n - [LayoutInflaterCompat](/reference/android/support/v4/view/LayoutInflaterCompat)\n - [MarginLayoutParamsCompat](/reference/android/support/v4/view/MarginLayoutParamsCompat)\n - [MenuCompat](/reference/android/support/v4/view/MenuCompat)\n - [MenuItemCompat](/reference/android/support/v4/view/MenuItemCompat)\n - [MotionEventCompat](/reference/android/support/v4/view/MotionEventCompat)\n - [NestedScrollingChildHelper](/reference/android/support/v4/view/NestedScrollingChildHelper)\n - [NestedScrollingParentHelper](/reference/android/support/v4/view/NestedScrollingParentHelper)\n - [PagerAdapter](/reference/android/support/v4/view/PagerAdapter)\n - [PagerTabStrip](/reference/android/support/v4/view/PagerTabStrip)\n - [PagerTitleStrip](/reference/android/support/v4/view/PagerTitleStrip)\n - [PointerIconCompat](/reference/android/support/v4/view/PointerIconCompat)\n - [ScaleGestureDetectorCompat](/reference/android/support/v4/view/ScaleGestureDetectorCompat)\n - [VelocityTrackerCompat](/reference/android/support/v4/view/VelocityTrackerCompat)\n - [ViewCompat](/reference/android/support/v4/view/ViewCompat)\n - [ViewConfigurationCompat](/reference/android/support/v4/view/ViewConfigurationCompat)\n - [ViewGroupCompat](/reference/android/support/v4/view/ViewGroupCompat)\n - [ViewPager](/reference/android/support/v4/view/ViewPager)\n - [ViewPager.LayoutParams](/reference/android/support/v4/view/ViewPager.LayoutParams)\n - [ViewPager.SavedState](/reference/android/support/v4/view/ViewPager.SavedState)\n - [ViewPager.SimpleOnPageChangeListener](/reference/android/support/v4/view/ViewPager.SimpleOnPageChangeListener)\n - [ViewParentCompat](/reference/android/support/v4/view/ViewParentCompat)\n - [ViewPropertyAnimatorCompat](/reference/android/support/v4/view/ViewPropertyAnimatorCompat)\n - [ViewPropertyAnimatorListenerAdapter](/reference/android/support/v4/view/ViewPropertyAnimatorListenerAdapter)\n - [WindowCompat](/reference/android/support/v4/view/WindowCompat)\n - [WindowInsetsCompat](/reference/android/support/v4/view/WindowInsetsCompat)"]]