Google is committed to advancing racial equity for Black communities. See how.
Added in API level 1

Window

abstract class Window
kotlin.Any
   ↳ android.view.Window

Abstract base class for a top-level window look and behavior policy. An instance of this class should be used as the top-level view added to the window manager. It provides standard UI policies such as a background, title area, default key processing, etc.

The only existing implementation of this abstract class is android.view.PhoneWindow, which you should instantiate when needing a Window.

Summary

Nested classes

abstract

API from a Window back to its caller.

abstract

Callback for clients that want frame timing information for each frame rendered by the Window.

abstract

Callback for clients that want to be aware of where caption draws content.

Constants

static Int

Flag for letting the theme drive the color of the window caption controls.

static Int

Flag for setting dark-color controls on the window caption.

static Int

Flag for setting light-color controls on the window caption.

static Int

The default features enabled.

static Int

Flag for enabling the Action Bar.

static Int

Flag for requesting an Action Bar that overlays window content.

static Int

Flag for specifying the behavior of action modes when an Action Bar is not present.

static Int

Enables Activities to run Activity Transitions either through sending or receiving ActivityOptions bundle created with android.app.ActivityOptions#makeSceneTransitionAnimation(android.app.Activity, * android.util.Pair[]) or android.app.ActivityOptions#makeSceneTransitionAnimation( * android.app.Activity, View, String).

static Int

Flag for requesting that window content changes should be animated using a TransitionManager.

static Int

Flag for the context menu.

static Int

Flag for custom title.

static Int

Flag for indeterminate progress.

static Int

Flag for having an icon on the left side of the title bar

static Int

Flag for the "no title" feature, turning off the title at the top of the screen.

static Int

Flag for the "options panel" feature.

static Int

Flag for the progress indicator feature.

static Int

Flag for having an icon on the right side of the title bar

static Int

Flag for requesting a decoration-free window that is dismissed by swiping from the left.

static Int

The ID that the main layout in the XML layout file should have.

static String

The transitionName for the navigation bar background View when a custom background is used.

static Int

Ending value for the (primary) progress.

static Int

Flag for setting the progress bar's indeterminate mode off.

static Int

Flag for setting the progress bar's indeterminate mode on.

static Int

Highest possible value for the secondary progress.

static Int

Lowest possible value for the secondary progress.

static Int

Starting value for the (primary) progress.

static Int

Flag for setting the progress bar's visibility to GONE.

static Int

Flag for setting the progress bar's visibility to VISIBLE.

static String

The transitionName for the status bar background View when a custom background is used.

Public constructors

<init>(context: Context!)

Public methods

abstract Unit

Variation on setContentView(android.view.View,android.view.ViewGroup.LayoutParams) to add an additional content view to the screen.

open Unit
addFlags(flags: Int)

Convenience function to set the flag bits as specified in flags, as per setFlags.

Unit

Set an observer to collect frame stats for each frame rendered in this window.

open Unit
clearFlags(flags: Int)

Convenience function to clear the flag bits as specified in flags, as per setFlags.

abstract Unit

abstract Unit
closePanel(featureId: Int)

open T

Finds a view that was identified by the android:id XML attribute that was processed in android.app.Activity#onCreate.

open Boolean

Returns how the transition set in setEnterTransition(android.transition.Transition) overlaps with the exit transition of the calling Activity.

open Boolean

Returns how the transition set in setExitTransition(android.transition.Transition) overlaps with the exit transition of the called Activity when reentering after if finishes.

WindowManager.LayoutParams!

Retrieve the current window attributes associated with this panel.

Window.Callback!

Return the current Callback interface for this window.

open Int

Returns the requested color mode of the window, one of ActivityInfo#COLOR_MODE_DEFAULT, ActivityInfo#COLOR_MODE_WIDE_COLOR_GAMUT or ActivityInfo#COLOR_MODE_HDR.

Window!

Return the container for this Window.

open Scene!

Retrieve the Scene representing this window's current content.

Context!

Return the Context this window policy is running in, for retrieving resources and other information.

abstract View?

Return the view in this Window that currently has focus, or null if there are none.

abstract View

Retrieve the top-level window decor view (containing the standard window frame/decorations and the client's content inside of that), which can be added as a window to the window manager.

open static Int

Return the feature bits set by default on a window.

open Transition!

Returns the transition used to move Views into the initial scene.

open Transition!

Returns the Transition that will be used to move Views out of the scene when starting a new Activity.

open WindowInsetsController?

abstract LayoutInflater

Quick access to the LayoutInflater instance that this Window retrieved from its Context.

open MediaController!

Gets the MediaController that was previously set.

abstract Int

open Int

Retrieves the color of the navigation bar divider.

open Transition!

Returns the Transition that will be used to move Views in to the scene when returning from a previously-started Activity.

open Transition!

Returns the Transition that will be used to move Views out of the scene when the Window is preparing to close, for example after a call to android.app.Activity#finishAfterTransition().

open Transition!

Returns the Transition that will be used for shared elements transferred into the content Scene.

open Transition!

Returns the Transition to use for shared elements in the launching Window prior to transferring to the launched Activity's Window.

open Transition!

Returns the Transition that will be used for shared elements reentering from a started Activity after it has returned the shared element to it start location.

open Transition!

Returns the Transition that will be used for shared elements transferred back to a calling Activity.

open Boolean

Returns true when shared elements should use an Overlay during shared element transitions or false when they should animate as part of the normal View hierarchy.

abstract Int

open MutableList<Rect!>

Retrieve the list of areas within this window's coordinate space where the system should not intercept touch or other pointing device gestures.

open Long

Returns the duration, in milliseconds, of the window background fade when transitioning into or away from an Activity when called with an Activity Transition.

open TransitionManager!

Retrieve the TransitionManager responsible for for default transitions in this window.

abstract Int

open WindowManager!

Return the window manager allowing this Window to display its own windows.

TypedArray!

Return the android.R.styleable#Window attributes from this window's theme.

Boolean

open Boolean
hasFeature(feature: Int)

Query for the availability of a certain feature.

open Unit

Inject an event to window locally.

abstract Unit

Boolean

abstract Boolean

Return whether this window is being displayed with a floating style (based on the android.R.attr#windowIsFloating attribute in the style/theme).

open Boolean

Returns whether the system is ensuring that the navigation bar has enough contrast when a fully transparent background is requested.

abstract Boolean
isShortcutKey(keyCode: Int, event: KeyEvent!)

Is a keypress one of the defined shortcut keys for this window.

open Boolean

Returns whether the system is ensuring that the status bar has enough contrast when a fully transparent background is requested.

open Boolean

Returns true if this window's color mode is ActivityInfo#COLOR_MODE_WIDE_COLOR_GAMUT, the display has a wide color gamut and this device supports wide color gamut rendering.

Unit

abstract Unit

Should be called when the configuration is changed.

abstract Unit
openPanel(featureId: Int, event: KeyEvent!)

abstract View!

Retrieve the current decor view, but only if it has already been created; otherwise returns null.

abstract Boolean

abstract Boolean
performPanelIdentifierAction(featureId: Int, id: Int, flags: Int)

abstract Boolean
performPanelShortcut(featureId: Int, keyCode: Int, event: KeyEvent!, flags: Int)

Unit

Remove observer and stop listening to frame stats for this window.

open Boolean
requestFeature(featureId: Int)

Enable extended screen features.

T

Finds a view that was identified by the android:id XML attribute that was processed in android.app.Activity#onCreate, or throws an IllegalArgumentException if the ID is invalid, or there is no matching view in the hierarchy.

abstract Unit
restoreHierarchyState(savedInstanceState: Bundle!)

abstract Bundle!

open Unit

Controls how the transition set in setEnterTransition(android.transition.Transition) overlaps with the exit transition of the calling Activity.

open Unit

Controls how the transition set in setExitTransition(android.transition.Transition) overlaps with the exit transition of the called Activity when reentering after if finishes.

open Unit

Specify custom window attributes.

abstract Unit

Change the background of this window to a custom Drawable.

open Unit

Change the background of this window to a Drawable resource.

open Unit

Set the Callback interface for this window, used to intercept key events and other dynamic operations in the window.

abstract Unit
setChildDrawable(featureId: Int, drawable: Drawable!)

abstract Unit
setChildInt(featureId: Int, value: Int)

open Unit
setClipToOutline(clipToOutline: Boolean)

Sets whether window content should be clipped to the outline of the window background.

open Unit
setColorMode(colorMode: Int)

Sets the requested color mode of the window.

open Unit
setContainer(container: Window!)

Set the container for this window.

abstract Unit
setContentView(layoutResID: Int)

Convenience for setContentView(android.view.View,android.view.ViewGroup.LayoutParams) to set the screen content from a layout resource.

abstract Unit

Convenience for setContentView(android.view.View,android.view.ViewGroup.LayoutParams) set the screen content to an explicit view.

abstract Unit

Set the screen content to an explicit view.

abstract Unit
setDecorCaptionShade(decorCaptionShade: Int)

Set what color should the caption controls be.

open Unit
setDecorFitsSystemWindows(decorFitsSystemWindows: Boolean)

Sets whether the decor view should fit root-level content views for WindowInsets.

open Unit

Set the amount of dim behind the window when using WindowManager.LayoutParams#FLAG_DIM_BEHIND.

open Unit
setElevation(elevation: Float)

Sets the window elevation.

open Unit

Sets the Transition that will be used to move Views into the initial scene.

open Unit

Sets the Transition that will be used to move Views out of the scene when starting a new Activity.

abstract Unit
setFeatureDrawable(featureId: Int, drawable: Drawable!)

Set an explicit Drawable value for feature of this window.

abstract Unit
setFeatureDrawableAlpha(featureId: Int, alpha: Int)

Set a custom alpha value for the given drawable feature, controlling how much the background is visible through it.

abstract Unit
setFeatureDrawableResource(featureId: Int, resId: Int)

Set the value for a drawable feature of this window, from a resource identifier.

abstract Unit
setFeatureDrawableUri(featureId: Int, uri: Uri!)

Set the value for a drawable feature of this window, from a URI.

abstract Unit
setFeatureInt(featureId: Int, value: Int)

Set the integer value for a feature.

open Unit
setFlags(flags: Int, mask: Int)

Set the flags of the window, as per the WindowManager.LayoutParams flags.

open Unit
setFormat(format: Int)

Set the format of window, as per the PixelFormat types.

open Unit
setGravity(gravity: Int)

Set the gravity of the window, as per the Gravity constants.

open Unit
setIcon(resId: Int)

Set the primary icon for this window.

open Unit
setLayout(width: Int, height: Int)

Set the width and height layout parameters of the window.

open Unit
setLocalFocus(hasFocus: Boolean, inTouchMode: Boolean)

Set focus locally.

open Unit
setLogo(resId: Int)

Set the logo for this window.

open Unit

Sets a MediaController to send media keys and volume changes to.

abstract Unit

Sets the color of the navigation bar to {@param color}.

open Unit

Sets whether the system should ensure that the navigation bar has enough contrast when a fully transparent background is requested.

open Unit

Shows a thin line of the specified color between the navigation bar and the app content.

open Unit

If isPreferred is true, this method requests that the connected display does minimal post processing when this window is visible on the screen.

open Unit

Sets the Transition that will be used to move Views in to the scene when returning from a previously-started Activity.

abstract Unit

Set the drawable that is drawn underneath the caption during the resizing.

Unit

Set a callback for changes of area where caption will draw its content.

open Unit

Sets the Transition that will be used to move Views out of the scene when the Window is preparing to close, for example after a call to android.app.Activity#finishAfterTransition().

open Unit

Sets the Transition that will be used for shared elements transferred into the content Scene.

open Unit

Sets the Transition that will be used for shared elements after starting a new Activity before the shared elements are transferred to the called Activity.

open Unit

Sets the Transition that will be used for shared elements reentering from a started Activity after it has returned the shared element to it start location.

open Unit

Sets the Transition that will be used for shared elements transferred back to a calling Activity.

open Unit
setSharedElementsUseOverlay(sharedElementsUseOverlay: Boolean)

Sets whether or not shared elements should use an Overlay during shared element transitions.

open Unit

Specify an explicit soft input mode to use for the window, as per WindowManager.LayoutParams#softInputMode.

abstract Unit

Sets the color of the status bar to color.

open Unit

Sets whether the system should ensure that the status bar has enough contrast when a fully transparent background is requested.

open Unit

open Unit

Sets a list of areas within this window's coordinate space where the system should not intercept touch or other pointing device gestures.

abstract Unit

abstract Unit
setTitleColor(textColor: Int)

open Unit

Sets the duration, in milliseconds, of the window background fade when transitioning into or away from an Activity when called with an Activity Transition.

open Unit

Set the TransitionManager to use for default transitions in this window.

open Unit
setType(type: Int)

Set the type of the window, as per the WindowManager.

open Unit
setUiOptions(uiOptions: Int)

Set extra options that will influence the UI for this window.

open Unit
setUiOptions(uiOptions: Int, mask: Int)

Set extra options that will influence the UI for this window.

abstract Unit

open Unit

Specify custom animations to use for the window, as per WindowManager.LayoutParams#windowAnimations.

open Unit
setWindowManager(wm: WindowManager!, appToken: IBinder!, appName: String!)

Set the window manager for use by this Window to, for example, display panels.

open Unit
setWindowManager(wm: WindowManager!, appToken: IBinder!, appName: String!, hardwareAccelerated: Boolean)

Set the window manager for use by this Window to, for example, display panels.

abstract Boolean

Used by custom windows, such as Dialog, to pass the generic motion event further down the view hierarchy.

abstract Boolean

Used by custom windows, such as Dialog, to pass the key press event further down the view hierarchy.

abstract Boolean

Used by custom windows, such as Dialog, to pass the key shortcut press event further down the view hierarchy.

abstract Boolean

Used by custom windows, such as Dialog, to pass the touch screen event further down the view hierarchy.

abstract Boolean

Used by custom windows, such as Dialog, to pass the trackball event further down the view hierarchy.

abstract Unit

Take ownership of this window's InputQueue.

abstract Unit

Request that key events come to this activity.

abstract Unit

Take ownership of this window's surface.

abstract Unit
togglePanel(featureId: Int, event: KeyEvent!)

Protected methods

Int

Return the feature bits that are enabled.

Int

Return the window flags that have been explicitly set by the client, so will not be modified by getDecorView.

Int

Return the feature bits that are being implemented by this Window.

Boolean

Has the app specified their own soft input mode?

abstract Unit

open Unit

Set the default format of window, as per the PixelFormat types.

Constants

DECOR_CAPTION_SHADE_AUTO

Added in API level 24
static val DECOR_CAPTION_SHADE_AUTO: Int

Flag for letting the theme drive the color of the window caption controls. Use with setDecorCaptionShade(int). This is the default value.

Value: 0

DECOR_CAPTION_SHADE_DARK

Added in API level 24
static val DECOR_CAPTION_SHADE_DARK: Int

Flag for setting dark-color controls on the window caption. Use with setDecorCaptionShade(int).

Value: 2

DECOR_CAPTION_SHADE_LIGHT

Added in API level 24
static val DECOR_CAPTION_SHADE_LIGHT: Int

Flag for setting light-color controls on the window caption. Use with setDecorCaptionShade(int).

Value: 1

DEFAULT_FEATURES

Added in API level 1
Deprecated in API level 22
protected static val DEFAULT_FEATURES: Int

Deprecated: use getDefaultFeatures(android.content.Context) instead.

The default features enabled.

Value: 65

FEATURE_ACTION_BAR

Added in API level 11
static val FEATURE_ACTION_BAR: Int

Flag for enabling the Action Bar. This is enabled by default for some devices. The Action Bar replaces the title bar and provides an alternate location for an on-screen menu button on some devices.

Value: 8

FEATURE_ACTION_BAR_OVERLAY

Added in API level 11
static val FEATURE_ACTION_BAR_OVERLAY: Int

Flag for requesting an Action Bar that overlays window content. Normally an Action Bar will sit in the space above window content, but if this feature is requested along with FEATURE_ACTION_BAR it will be layered over the window content itself. This is useful if you would like your app to have more control over how the Action Bar is displayed, such as letting application content scroll beneath an Action Bar with a transparent background or otherwise displaying a transparent/translucent Action Bar over application content.

This mode is especially useful with View#SYSTEM_UI_FLAG_FULLSCREEN, which allows you to seamlessly hide the action bar in conjunction with other screen decorations.

As of android.os.Build.VERSION_CODES#JELLY_BEAN, when an ActionBar is in this mode it will adjust the insets provided to View#fitSystemWindows(android.graphics.Rect) to include the content covered by the action bar, so you can do layout within that space.

Value: 9

FEATURE_ACTION_MODE_OVERLAY

Added in API level 11
static val FEATURE_ACTION_MODE_OVERLAY: Int

Flag for specifying the behavior of action modes when an Action Bar is not present. If overlay is enabled, the action mode UI will be allowed to cover existing window content.

Value: 10

FEATURE_ACTIVITY_TRANSITIONS

Added in API level 21
static val FEATURE_ACTIVITY_TRANSITIONS: Int

Enables Activities to run Activity Transitions either through sending or receiving ActivityOptions bundle created with android.app.ActivityOptions#makeSceneTransitionAnimation(android.app.Activity, * android.util.Pair[]) or android.app.ActivityOptions#makeSceneTransitionAnimation( * android.app.Activity, View, String).

Value: 13

FEATURE_CONTENT_TRANSITIONS

Added in API level 21
static val FEATURE_CONTENT_TRANSITIONS: Int

Flag for requesting that window content changes should be animated using a TransitionManager.

The TransitionManager is set using setTransitionManager(android.transition.TransitionManager). If none is set, a default TransitionManager will be used.

Value: 12

See Also

FEATURE_CONTEXT_MENU

Added in API level 1
static val FEATURE_CONTEXT_MENU: Int

Flag for the context menu. This is enabled by default.

Value: 6

FEATURE_CUSTOM_TITLE

Added in API level 1
static val FEATURE_CUSTOM_TITLE: Int

Flag for custom title. You cannot combine this feature with other title features.

Value: 7

FEATURE_INDETERMINATE_PROGRESS

Added in API level 1
Deprecated in API level 24
static val FEATURE_INDETERMINATE_PROGRESS: Int

Deprecated: No longer supported starting in API 21.

Flag for indeterminate progress.

Value: 5

FEATURE_LEFT_ICON

Added in API level 1
static val FEATURE_LEFT_ICON: Int

Flag for having an icon on the left side of the title bar

Value: 3

FEATURE_NO_TITLE

Added in API level 1
static val FEATURE_NO_TITLE: Int

Flag for the "no title" feature, turning off the title at the top of the screen.

Value: 1

FEATURE_OPTIONS_PANEL

Added in API level 1
static val FEATURE_OPTIONS_PANEL: Int

Flag for the "options panel" feature. This is enabled by default.

Value: 0

FEATURE_PROGRESS

Added in API level 1
Deprecated in API level 24
static val FEATURE_PROGRESS: Int

Deprecated: No longer supported starting in API 21.

Flag for the progress indicator feature.

Value: 2

FEATURE_RIGHT_ICON

Added in API level 1
static val FEATURE_RIGHT_ICON: Int

Flag for having an icon on the right side of the title bar

Value: 4

FEATURE_SWIPE_TO_DISMISS

Added in API level 20
Deprecated in API level 30
static val FEATURE_SWIPE_TO_DISMISS: Int

Deprecated: Swipe-to-dismiss isn't functional anymore.

Flag for requesting a decoration-free window that is dismissed by swiping from the left.

Value: 11

ID_ANDROID_CONTENT

Added in API level 1
static val ID_ANDROID_CONTENT: Int

The ID that the main layout in the XML layout file should have.

Value: 16908290
Added in API level 21
static val NAVIGATION_BAR_BACKGROUND_TRANSITION_NAME: String

The transitionName for the navigation bar background View when a custom background is used.

Value: "android:navigation:background"

PROGRESS_END

Added in API level 1
Deprecated in API level 24
static val PROGRESS_END: Int

Deprecated: FEATURE_PROGRESS and related methods are no longer supported starting in API 21.

Ending value for the (primary) progress.

Value: 10000

PROGRESS_INDETERMINATE_OFF

Added in API level 1
Deprecated in API level 24
static val PROGRESS_INDETERMINATE_OFF: Int

Deprecated: FEATURE_INDETERMINATE_PROGRESS and related methods are no longer supported starting in API 21.

Flag for setting the progress bar's indeterminate mode off.

Value: -4

PROGRESS_INDETERMINATE_ON

Added in API level 1
Deprecated in API level 24
static val PROGRESS_INDETERMINATE_ON: Int

Deprecated: FEATURE_INDETERMINATE_PROGRESS and related methods are no longer supported starting in API 21.

Flag for setting the progress bar's indeterminate mode on.

Value: -3

PROGRESS_SECONDARY_END

Added in API level 1
Deprecated in API level 24
static val PROGRESS_SECONDARY_END: Int

Deprecated: FEATURE_PROGRESS and related methods are no longer supported starting in API 21.

Highest possible value for the secondary progress.

Value: 30000

PROGRESS_SECONDARY_START

Added in API level 1
Deprecated in API level 24
static val PROGRESS_SECONDARY_START: Int

Deprecated: FEATURE_PROGRESS and related methods are no longer supported starting in API 21.

Lowest possible value for the secondary progress.

Value: 20000

PROGRESS_START

Added in API level 1
Deprecated in API level 24
static val PROGRESS_START: Int

Deprecated: FEATURE_PROGRESS and related methods are no longer supported starting in API 21.

Starting value for the (primary) progress.

Value: 0

PROGRESS_VISIBILITY_OFF

Added in API level 1
Deprecated in API level 24
static val PROGRESS_VISIBILITY_OFF: Int

Deprecated: FEATURE_PROGRESS and related methods are no longer supported starting in API 21.

Flag for setting the progress bar's visibility to GONE.

Value: -2

PROGRESS_VISIBILITY_ON

Added in API level 1
Deprecated in API level 24
static val PROGRESS_VISIBILITY_ON: Int

Deprecated: FEATURE_PROGRESS and related methods are no longer supported starting in API 21.

Flag for setting the progress bar's visibility to VISIBLE.

Value: -1

STATUS_BAR_BACKGROUND_TRANSITION_NAME

Added in API level 21
static val STATUS_BAR_BACKGROUND_TRANSITION_NAME: String

The transitionName for the status bar background View when a custom background is used.

Value: "android:status:background"

Public constructors

<init>

Added in API level 1
Window(context: Context!)

Public methods

addContentView

Added in API level 1
abstract fun addContentView(
    view: View!,
    params: ViewGroup.LayoutParams!
): Unit

Variation on setContentView(android.view.View,android.view.ViewGroup.LayoutParams) to add an additional content view to the screen. Added after any existing ones in the screen -- existing views are NOT removed.

Parameters
view View!: The desired content to display.
params ViewGroup.LayoutParams!: Layout parameters for the view.

addFlags

Added in API level 1
open fun addFlags(flags: Int): Unit

Convenience function to set the flag bits as specified in flags, as per setFlags.

Parameters
flags Int: The flag bits to be set.

addOnFrameMetricsAvailableListener

Added in API level 24
fun addOnFrameMetricsAvailableListener(
    listener: Window.OnFrameMetricsAvailableListener,
    handler: Handler!
): Unit

Set an observer to collect frame stats for each frame rendered in this window. Must be in hardware rendering mode.

Parameters
listener Window.OnFrameMetricsAvailableListener: This value cannot be null.

clearFlags

Added in API level 1
open fun clearFlags(flags: Int): Unit

Convenience function to clear the flag bits as specified in flags, as per setFlags.

Parameters
flags Int: The flag bits to be cleared.

closeAllPanels

Added in API level 1
abstract fun closeAllPanels(): Unit

closePanel

Added in API level 1
abstract fun closePanel(featureId: Int): Unit

findViewById

Added in API level 1
open fun <T : View!> findViewById(id: Int): T

Finds a view that was identified by the android:id XML attribute that was processed in android.app.Activity#onCreate.

This will implicitly call getDecorView with all of the associated side-effects.

Note: In most cases -- depending on compiler support -- the resulting view is automatically cast to the target class type. If the target class type is unconstrained, an explicit cast may be necessary.

Parameters
id Int: the ID to search for
Return
T a view with given ID if found, or null otherwise

getAllowEnterTransitionOverlap

Added in API level 21
open fun getAllowEnterTransitionOverlap(): Boolean

Returns how the transition set in setEnterTransition(android.transition.Transition) overlaps with the exit transition of the calling Activity. When true, the transition will start as soon as possible. When false, the transition will wait until the remote exiting transition completes before starting. The default value is true.

Return
Boolean true when the enter transition should start as soon as possible or false to when it should wait until the exiting transition completes.

getAllowReturnTransitionOverlap

Added in API level 21
open fun getAllowReturnTransitionOverlap(): Boolean

Returns how the transition set in setExitTransition(android.transition.Transition) overlaps with the exit transition of the called Activity when reentering after if finishes. When true, the transition will start as soon as possible. When false, the transition will wait until the called Activity's exiting transition completes before starting. The default value is true.

Return
Boolean true when the transition should start when possible or false when it should wait until the called Activity's exiting transition completes.

getAttributes

Added in API level 1
fun getAttributes(): WindowManager.LayoutParams!

Retrieve the current window attributes associated with this panel.

Return
WindowManager.LayoutParams! WindowManager.LayoutParams Either the existing window attributes object, or a freshly created one if there is none.

getCallback

Added in API level 1
fun getCallback(): Window.Callback!

Return the current Callback interface for this window.

getColorMode

Added in API level 26
open fun getColorMode(): Int

Returns the requested color mode of the window, one of ActivityInfo#COLOR_MODE_DEFAULT, ActivityInfo#COLOR_MODE_WIDE_COLOR_GAMUT or ActivityInfo#COLOR_MODE_HDR. If ActivityInfo#COLOR_MODE_WIDE_COLOR_GAMUT was requested it is possible the window will not be put in wide color gamut mode depending on device and display support for that mode. Use isWideColorGamut to determine if the window is currently in wide color gamut mode.

Return
Int Value is android.content.pm.ActivityInfo#COLOR_MODE_DEFAULT, android.content.pm.ActivityInfo#COLOR_MODE_WIDE_COLOR_GAMUT, or android.content.pm.ActivityInfo#COLOR_MODE_HDR

getContainer

Added in API level 1
fun getContainer(): Window!

Return the container for this Window.

Return
Window! Window The containing window, or null if this is a top-level window.

getContentScene

Added in API level 21
open fun getContentScene(): Scene!

Retrieve the Scene representing this window's current content. Requires FEATURE_CONTENT_TRANSITIONS.

This method will return null if the current content is not represented by a Scene.

Return
Scene! Current Scene being shown or null

getContext

Added in API level 1
fun getContext(): Context!

Return the Context this window policy is running in, for retrieving resources and other information.

Return
Context! Context The Context that was supplied to the constructor.

getCurrentFocus

Added in API level 1
abstract fun getCurrentFocus(): View?

Return the view in this Window that currently has focus, or null if there are none. Note that this does not look in any containing Window.

Return
View? View The current View with focus or null.

getDecorView

Added in API level 1
abstract fun getDecorView(): View

Retrieve the top-level window decor view (containing the standard window frame/decorations and the client's content inside of that), which can be added as a window to the window manager.

Note that calling this function for the first time "locks in" various window characteristics as described in setContentView(android.view.View,android.view.ViewGroup.LayoutParams).

Return
View Returns the top-level window decor view. This value cannot be null.

getDefaultFeatures

Added in API level 22
open static fun getDefaultFeatures(context: Context!): Int

Return the feature bits set by default on a window.

Parameters
context Context!: The context used to access resources

getEnterTransition

Added in API level 21
open fun getEnterTransition(): Transition!

Returns the transition used to move Views into the initial scene. The entering Views will be those that are regular Views or ViewGroups that have ViewGroup#isTransitionGroup return true. Typical Transitions will extend android.transition.Visibility as entering is governed by changing visibility from View#INVISIBLE to View#VISIBLE. If transition is null, entering Views will remain unaffected. Requires FEATURE_ACTIVITY_TRANSITIONS.

Return
Transition! the Transition to use to move Views into the initial Scene.

getExitTransition

Added in API level 21
open fun getExitTransition(): Transition!

Returns the Transition that will be used to move Views out of the scene when starting a new Activity. The exiting Views will be those that are regular Views or ViewGroups that have ViewGroup#isTransitionGroup return true. Typical Transitions will extend android.transition.Visibility as exiting is governed by changing visibility from View#VISIBLE to View#INVISIBLE. If transition is null, the views will remain unaffected. Requires FEATURE_ACTIVITY_TRANSITIONS.

Return
Transition! the Transition to use to move Views out of the scene when calling a new Activity.

getInsetsController

Added in API level 30
open fun getInsetsController(): WindowInsetsController?
Return
WindowInsetsController? The WindowInsetsController associated with this window This value may be null.

getLayoutInflater

Added in API level 1
abstract fun getLayoutInflater(): LayoutInflater

Quick access to the LayoutInflater instance that this Window retrieved from its Context.

Return
LayoutInflater LayoutInflater The shared LayoutInflater. This value cannot be null.

getMediaController

Added in API level 21
open fun getMediaController(): MediaController!

Gets the MediaController that was previously set.

Return
MediaController! The controller which should receive events.

getNavigationBarColor

Added in API level 21
abstract fun getNavigationBarColor(): Int
Return
Int the color of the navigation bar.

getNavigationBarDividerColor

Added in API level 28
open fun getNavigationBarDividerColor(): Int

Retrieves the color of the navigation bar divider.

Return
Int The color of the navigation bar divider color.

getReenterTransition

Added in API level 21
open fun getReenterTransition(): Transition!

Returns the Transition that will be used to move Views in to the scene when returning from a previously-started Activity. The entering Views will be those that are regular Views or ViewGroups that have ViewGroup#isTransitionGroup return true. Typical Transitions will extend android.transition.Visibility as exiting is governed by changing visibility from View#VISIBLE to View#INVISIBLE. Requires FEATURE_ACTIVITY_TRANSITIONS.

Return
Transition! The Transition to use to move Views into the scene when reentering from a previously-started Activity.

getReturnTransition

Added in API level 21
open fun getReturnTransition(): Transition!

Returns the Transition that will be used to move Views out of the scene when the Window is preparing to close, for example after a call to android.app.Activity#finishAfterTransition(). The exiting Views will be those that are regular Views or ViewGroups that have ViewGroup#isTransitionGroup return true. Typical Transitions will extend android.transition.Visibility as entering is governed by changing visibility from View#VISIBLE to View#INVISIBLE.

Return
Transition! The Transition to use to move Views out of the Scene when the Window is preparing to close.

getSharedElementEnterTransition

Added in API level 21
open fun getSharedElementEnterTransition(): Transition!

Returns the Transition that will be used for shared elements transferred into the content Scene. Requires FEATURE_ACTIVITY_TRANSITIONS.

Return
Transition! Transition to use for sharend elements transferred into the content Scene.

getSharedElementExitTransition

Added in API level 21
open fun getSharedElementExitTransition(): Transition!

Returns the Transition to use for shared elements in the launching Window prior to transferring to the launched Activity's Window. Requires FEATURE_ACTIVITY_TRANSITIONS.

Return
Transition! the Transition to use for shared elements in the launching Window prior to transferring to the launched Activity's Window.

getSharedElementReenterTransition

Added in API level 21
open fun getSharedElementReenterTransition(): Transition!

Returns the Transition that will be used for shared elements reentering from a started Activity after it has returned the shared element to it start location. Requires FEATURE_ACTIVITY_TRANSITIONS.

Return
Transition! the Transition that will be used for shared elements reentering from a started Activity after it has returned the shared element to it start location.

getSharedElementReturnTransition

Added in API level 21
open fun getSharedElementReturnTransition(): Transition!

Returns the Transition that will be used for shared elements transferred back to a calling Activity. Requires FEATURE_ACTIVITY_TRANSITIONS.

Return
Transition! Transition to use for sharend elements transferred into the content Scene.

getSharedElementsUseOverlay

Added in API level 21
open fun getSharedElementsUseOverlay(): Boolean

Returns true when shared elements should use an Overlay during shared element transitions or false when they should animate as part of the normal View hierarchy. The default value is true.

Return
Boolean true when shared elements should use an Overlay during shared element transitions or false when they should animate as part of the normal View hierarchy.

getStatusBarColor

Added in API level 21
abstract fun getStatusBarColor(): Int
Return
Int the color of the status bar.

getSystemGestureExclusionRects

Added in API level 29
open fun getSystemGestureExclusionRects(): MutableList<Rect!>

Retrieve the list of areas within this window's coordinate space where the system should not intercept touch or other pointing device gestures. This is the list as set by setSystemGestureExclusionRects(java.util.List) or an empty list if setSystemGestureExclusionRects(java.util.List) has not been called. It does not include exclusion rects set by this window's view hierarchy.

Return
MutableList<Rect!> a list of system gesture exclusion rects specific to this window This value cannot be null.

getTransitionBackgroundFadeDuration

Added in API level 21
open fun getTransitionBackgroundFadeDuration(): Long

Returns the duration, in milliseconds, of the window background fade when transitioning into or away from an Activity when called with an Activity Transition.

When executing the enter transition, the background starts transparent and fades in. This requires FEATURE_ACTIVITY_TRANSITIONS. The default is 300 milliseconds.

Return
Long The duration of the window background fade to opaque during enter transition.

getTransitionManager

Added in API level 21
open fun getTransitionManager(): TransitionManager!

Retrieve the TransitionManager responsible for for default transitions in this window. Requires FEATURE_CONTENT_TRANSITIONS.

This method will return non-null after content has been initialized (e.g. by using setContentView) if FEATURE_CONTENT_TRANSITIONS has been granted.

Return
TransitionManager! This window's content TransitionManager or null if none is set.

getVolumeControlStream

Added in API level 1
abstract fun getVolumeControlStream(): Int

getWindowManager

Added in API level 1
open fun getWindowManager(): WindowManager!

Return the window manager allowing this Window to display its own windows.

Return
WindowManager! WindowManager The ViewManager.

getWindowStyle

Added in API level 1
fun getWindowStyle(): TypedArray!

Return the android.R.styleable#Window attributes from this window's theme.

hasChildren

Added in API level 1
fun hasChildren(): Boolean

hasFeature

Added in API level 11
open fun hasFeature(feature: Int): Boolean

Query for the availability of a certain feature.

Parameters
feature Int: The feature ID to check
Return
Boolean true if the feature is enabled, false otherwise.

injectInputEvent

Added in API level 19
open fun injectInputEvent(event: InputEvent!): Unit

Inject an event to window locally.

Parameters
event InputEvent!: A key or touch event to inject to this window.

invalidatePanelMenu

Added in API level 11
abstract fun invalidatePanelMenu(featureId: Int): Unit

isActive

Added in API level 1
fun isActive(): Boolean

isFloating

Added in API level 1
abstract fun isFloating(): Boolean

Return whether this window is being displayed with a floating style (based on the android.R.attr#windowIsFloating attribute in the style/theme).

Return
Boolean Returns true if the window is configured to be displayed floating on top of whatever is behind it.

isNavigationBarContrastEnforced

Added in API level 29
open fun isNavigationBarContrastEnforced(): Boolean

Returns whether the system is ensuring that the navigation bar has enough contrast when a fully transparent background is requested.

When the navigation bar color has a non-zero alpha value, the value of this property has no effect.

Return
Boolean true, if the system is ensuring contrast, false otherwise.

isShortcutKey

Added in API level 1
abstract fun isShortcutKey(
    keyCode: Int,
    event: KeyEvent!
): Boolean

Is a keypress one of the defined shortcut keys for this window.

Parameters
keyCode Int: the key code from android.view.KeyEvent to check.
event KeyEvent!: the android.view.KeyEvent to use to help check.

isStatusBarContrastEnforced

Added in API level 29
open fun isStatusBarContrastEnforced(): Boolean

Returns whether the system is ensuring that the status bar has enough contrast when a fully transparent background is requested.

When the status bar color has a non-zero alpha value, the value of this property has no effect.

Return
Boolean true, if the system is ensuring contrast, false otherwise.

isWideColorGamut

Added in API level 27
open fun isWideColorGamut(): Boolean

Returns true if this window's color mode is ActivityInfo#COLOR_MODE_WIDE_COLOR_GAMUT, the display has a wide color gamut and this device supports wide color gamut rendering.

makeActive

Added in API level 1
fun makeActive(): Unit

onConfigurationChanged

Added in API level 1
abstract fun onConfigurationChanged(newConfig: Configuration!): Unit

Should be called when the configuration is changed.

Parameters
newConfig Configuration!: The new configuration.

openPanel

Added in API level 1
abstract fun openPanel(
    featureId: Int,
    event: KeyEvent!
): Unit

peekDecorView

Added in API level 1
abstract fun peekDecorView(): View!

Retrieve the current decor view, but only if it has already been created; otherwise returns null.

Return
View! Returns the top-level window decor or null.

See Also

performContextMenuIdentifierAction

Added in API level 1
abstract fun performContextMenuIdentifierAction(
    id: Int,
    flags: Int
): Boolean

performPanelIdentifierAction

Added in API level 1
abstract fun performPanelIdentifierAction(
    featureId: Int,
    id: Int,
    flags: Int
): Boolean

performPanelShortcut

Added in API level 1
abstract fun performPanelShortcut(
    featureId: Int,
    keyCode: Int,
    event: KeyEvent!,
    flags: Int
): Boolean

removeOnFrameMetricsAvailableListener

Added in API level 24
fun removeOnFrameMetricsAvailableListener(listener: Window.OnFrameMetricsAvailableListener!): Unit

Remove observer and stop listening to frame stats for this window.

requestFeature

Added in API level 1
open fun requestFeature(featureId: Int): Boolean

Enable extended screen features. This must be called before setContentView(). May be called as many times as desired as long as it is before setContentView(). If not called, no extended features will be available. You can not turn off a feature once it is requested. You canot use other title features with FEATURE_CUSTOM_TITLE.

Parameters
featureId Int: The desired features, defined as constants by Window.
Return
Boolean The features that are now set.

requireViewById

Added in API level 28
fun <T : View!> requireViewById(id: Int): T

Finds a view that was identified by the android:id XML attribute that was processed in android.app.Activity#onCreate, or throws an IllegalArgumentException if the ID is invalid, or there is no matching view in the hierarchy.

Note: In most cases -- depending on compiler support -- the resulting view is automatically cast to the target class type. If the target class type is unconstrained, an explicit cast may be necessary.

Parameters
id Int: the ID to search for
Return
T a view with given ID This value cannot be null.

restoreHierarchyState

Added in API level 1
abstract fun restoreHierarchyState(savedInstanceState: Bundle!): Unit

saveHierarchyState

Added in API level 1
abstract fun saveHierarchyState(): Bundle!

setAllowEnterTransitionOverlap

Added in API level 21
open fun setAllowEnterTransitionOverlap(allow: Boolean): Unit

Controls how the transition set in setEnterTransition(android.transition.Transition) overlaps with the exit transition of the calling Activity. When true, the transition will start as soon as possible. When false, the transition will wait until the remote exiting transition completes before starting. The default value is true.

Parameters
allow Boolean: true to start the enter transition when possible or false to wait until the exiting transition completes.

setAllowReturnTransitionOverlap

Added in API level 21
open fun setAllowReturnTransitionOverlap(allow: Boolean): Unit

Controls how the transition set in setExitTransition(android.transition.Transition) overlaps with the exit transition of the called Activity when reentering after if finishes. When true, the transition will start as soon as possible. When false, the transition will wait until the called Activity's exiting transition completes before starting. The default value is true.

Parameters
allow Boolean: true to start the transition when possible or false to wait until the called Activity's exiting transition completes.

setAttributes

Added in API level 1
open fun setAttributes(a: WindowManager.LayoutParams!): Unit

Specify custom window attributes. PLEASE NOTE: the layout params you give here should generally be from values previously retrieved with getAttributes(); you probably do not want to blindly create and apply your own, since this will blow away any values set by the framework that you are not interested in.

Parameters
a WindowManager.LayoutParams!: The new window attributes, which will completely override any current values.

setBackgroundDrawable

Added in API level 1
abstract fun setBackgroundDrawable(drawable: Drawable!): Unit

Change the background of this window to a custom Drawable. Setting the background to null will make the window be opaque. To make the window transparent, you can use an empty drawable (for instance a ColorDrawable with the color 0 or the system drawable android:drawable/empty.)

Parameters
drawable Drawable!: The new Drawable to use for this window's background.

setBackgroundDrawableResource

Added in API level 1
open fun setBackgroundDrawableResource(resId: Int): Unit

Change the background of this window to a Drawable resource. Setting the background to null will make the window be opaque. To make the window transparent, you can use an empty drawable (for instance a ColorDrawable with the color 0 or the system drawable android:drawable/empty.)

Parameters
resId Int: The resource identifier of a drawable resource which will be installed as the new background.

setCallback

Added in API level 1
open fun setCallback(callback: Window.Callback!): Unit

Set the Callback interface for this window, used to intercept key events and other dynamic operations in the window.

Parameters
callback Window.Callback!: The desired Callback interface.

setChildDrawable

Added in API level 1
abstract fun setChildDrawable(
    featureId: Int,
    drawable: Drawable!
): Unit

setChildInt

Added in API level 1
abstract fun setChildInt(
    featureId: Int,
    value: Int
): Unit

setClipToOutline

Added in API level 22
open fun setClipToOutline(clipToOutline: Boolean): Unit

Sets whether window content should be clipped to the outline of the window background.

Parameters
clipToOutline Boolean: Whether window content should be clipped to the outline of the window background.

setColorMode

Added in API level 26
open fun setColorMode(colorMode: Int): Unit

Sets the requested color mode of the window. The requested the color mode might override the window's pixel WindowManager.LayoutParams#format.

The requested color mode must be one of ActivityInfo#COLOR_MODE_DEFAULT, ActivityInfo#COLOR_MODE_WIDE_COLOR_GAMUT or ActivityInfo#COLOR_MODE_HDR.

The requested color mode is not guaranteed to be honored. Please refer to getColorMode() for more information.

Parameters
colorMode Int: Value is android.content.pm.ActivityInfo#COLOR_MODE_DEFAULT, android.content.pm.ActivityInfo#COLOR_MODE_WIDE_COLOR_GAMUT, or android.content.pm.ActivityInfo#COLOR_MODE_HDR

setContainer

Added in API level 1
open fun setContainer(container: Window!): Unit

Set the container for this window. If not set, the DecorWindow operates as a top-level window; otherwise, it negotiates with the container to display itself appropriately.

Parameters
container Window!: The desired containing Window.

setContentView

Added in API level 1
abstract fun setContentView(layoutResID: Int): Unit

Convenience for setContentView(android.view.View,android.view.ViewGroup.LayoutParams) to set the screen content from a layout resource. The resource will be inflated, adding all top-level views to the screen.

Parameters
layoutResID Int: Resource ID to be inflated.

setContentView

Added in API level 1
abstract fun setContentView(view: View!): Unit

Convenience for setContentView(android.view.View,android.view.ViewGroup.LayoutParams) set the screen content to an explicit view. This view is placed directly into the screen's view hierarchy. It can itself be a complex view hierarhcy.

Parameters
view View!: The desired content to display.

setContentView

Added in API level 1
abstract fun setContentView(
    view: View!,
    params: ViewGroup.LayoutParams!
): Unit

Set the screen content to an explicit view. This view is placed directly into the screen's view hierarchy. It can itself be a complex view hierarchy.

Note that calling this function "locks in" various characteristics of the window that can not, from this point forward, be changed: the features that have been requested with requestFeature(int), and certain window flags as described in setFlags(int,int).

If FEATURE_CONTENT_TRANSITIONS is set, the window's TransitionManager will be used to animate content from the current content View to view.

Parameters
view View!: The desired content to display.
params ViewGroup.LayoutParams!: Layout parameters for the view.

setDecorCaptionShade

Added in API level 24
abstract fun setDecorCaptionShade(decorCaptionShade: Int): Unit

Set what color should the caption controls be. By default the system will try to determine the color from the theme. You can overwrite this by using DECOR_CAPTION_SHADE_DARK, DECOR_CAPTION_SHADE_LIGHT, or DECOR_CAPTION_SHADE_AUTO.

setDecorFitsSystemWindows

Added in API level 30
open fun setDecorFitsSystemWindows(decorFitsSystemWindows: Boolean): Unit

Sets whether the decor view should fit root-level content views for WindowInsets.

If set to true, the framework will inspect the now deprecated View#SYSTEM_UI_LAYOUT_FLAGS as well the WindowManager.LayoutParams#SOFT_INPUT_ADJUST_RESIZE flag and fits content according to these flags.

If set to false, the framework will not fit the content view to the insets and will just pass through the WindowInsets to the content view.

Parameters
decorFitsSystemWindows Boolean: Whether the decor view should fit root-level content views for insets.

setDimAmount

Added in API level 14
open fun setDimAmount(amount: Float): Unit

Set the amount of dim behind the window when using WindowManager.LayoutParams#FLAG_DIM_BEHIND. This overrides the default dim amount of that is selected by the Window based on its theme.

Parameters
amount Float: The new dim amount, from 0 for no dim to 1 for full dim.

setElevation

Added in API level 22
open fun setElevation(elevation: Float): Unit

Sets the window elevation.

Changes to this property take effect immediately and will cause the window surface to be recreated. This is an expensive operation and as a result, this property should not be animated.

Parameters
elevation Float: The window elevation.

setEnterTransition

Added in API level 21
open fun setEnterTransition(transition: Transition!): Unit

Sets the Transition that will be used to move Views into the initial scene. The entering Views will be those that are regular Views or ViewGroups that have ViewGroup#isTransitionGroup return true. Typical Transitions will extend android.transition.Visibility as entering is governed by changing visibility from View#INVISIBLE to View#VISIBLE. If transition is null, entering Views will remain unaffected.

Parameters
transition Transition!: The Transition to use to move Views into the initial Scene.

setExitTransition

Added in API level 21
open fun setExitTransition(transition: Transition!): Unit

Sets the Transition that will be used to move Views out of the scene when starting a new Activity. The exiting Views will be those that are regular Views or ViewGroups that have ViewGroup#isTransitionGroup return true. Typical Transitions will extend android.transition.Visibility as exiting is governed by changing visibility from View#VISIBLE to View#INVISIBLE. If transition is null, the views will remain unaffected. Requires FEATURE_ACTIVITY_TRANSITIONS.

Parameters
transition Transition!: The Transition to use to move Views out of the scene when calling a new Activity.

setFeatureDrawable

Added in API level 1
abstract fun setFeatureDrawable(
    featureId: Int,
    drawable: Drawable!
): Unit

Set an explicit Drawable value for feature of this window. You must have called requestFeature(featureId) before calling this function.

Parameters
featureId Int: The desired drawable feature to change. Features are constants defined by Window.
drawable Drawable!: A Drawable object to display.

setFeatureDrawableAlpha

Added in API level 1
abstract fun setFeatureDrawableAlpha(
    featureId: Int,
    alpha: Int
): Unit

Set a custom alpha value for the given drawable feature, controlling how much the background is visible through it.

Parameters
featureId Int: The desired drawable feature to change. Features are constants defined by Window.
alpha Int: The alpha amount, 0 is completely transparent and 255 is completely opaque.

setFeatureDrawableResource

Added in API level 1
abstract fun setFeatureDrawableResource(
    featureId: Int,
    resId: Int
): Unit

Set the value for a drawable feature of this window, from a resource identifier. You must have called requestFeature(featureId) before calling this function.

Parameters
featureId Int: The desired drawable feature to change, defined as a constant by Window.
resId Int: Resource identifier of the desired image.

setFeatureDrawableUri

Added in API level 1
abstract fun setFeatureDrawableUri(
    featureId: Int,
    uri: Uri!
): Unit

Set the value for a drawable feature of this window, from a URI. You must have called requestFeature(featureId) before calling this function.

The only URI currently supported is "content:", specifying an image in a content provider.

Parameters
featureId Int: The desired drawable feature to change. Features are constants defined by Window.
uri Uri!: The desired URI.

setFeatureInt

Added in API level 1
abstract fun setFeatureInt(
    featureId: Int,
    value: Int
): Unit

Set the integer value for a feature. The range of the value depends on the feature being set. For FEATURE_PROGRESS, it should go from 0 to 10000. At 10000 the progress is complete and the indicator hidden.

Parameters
featureId Int: The desired feature to change. Features are constants defined by Window.
value Int: The value for the feature. The interpretation of this value is feature-specific.

setFlags

Added in API level 1
open fun setFlags(
    flags: Int,
    mask: Int
): Unit

Set the flags of the window, as per the WindowManager.LayoutParams flags.

Note that some flags must be set before the window decoration is created (by the first call to setContentView(android.view.View,android.view.ViewGroup.LayoutParams) or getDecorView(): WindowManager.LayoutParams#FLAG_LAYOUT_IN_SCREEN and WindowManager.LayoutParams#FLAG_LAYOUT_INSET_DECOR. These will be set for you based on the android.R.attr#windowIsFloating attribute.

Parameters
flags Int: The new window flags (see WindowManager.LayoutParams).
mask Int: Which of the window flag bits to modify.

setFormat

Added in API level 1
open fun setFormat(format: Int): Unit

Set the format of window, as per the PixelFormat types. This overrides the default format that is selected by the Window based on its window decorations.

Parameters
format Int: The new window format (see PixelFormat). Use PixelFormat.UNKNOWN to allow the Window to select the format.

setGravity

Added in API level 1
open fun setGravity(gravity: Int): Unit

Set the gravity of the window, as per the Gravity constants. This controls how the window manager is positioned in the overall window; it is only useful when using WRAP_CONTENT for the layout width or height.

Parameters
gravity Int: The desired gravity constant.

setIcon

Added in API level 19
open fun setIcon(resId: Int): Unit

Set the primary icon for this window.

Parameters
resId Int: resource ID of a drawable to set

setLayout

Added in API level 1
open fun setLayout(
    width: Int,
    height: Int
): Unit

Set the width and height layout parameters of the window. The default for both of these is MATCH_PARENT; you can change them to WRAP_CONTENT or an absolute value to make a window that is not full-screen.

Parameters
width Int: The desired layout width of the window.
height Int: The desired layout height of the window.

setLocalFocus

Added in API level 19
open fun setLocalFocus(
    hasFocus: Boolean,
    inTouchMode: Boolean
): Unit

Set focus locally. The window should have the WindowManager.LayoutParams#FLAG_LOCAL_FOCUS_MODE flag set already.

Parameters
hasFocus Boolean: Whether this window has focus or not.
inTouchMode Boolean: Whether this window is in touch mode or not.
Added in API level 19
open fun setLogo(resId: Int): Unit

Set the logo for this window. A logo is often shown in place of an icon but is generally wider and communicates window title information as well.

Parameters
resId Int: resource ID of a drawable to set

setMediaController

Added in API level 21
open fun setMediaController(controller: MediaController!): Unit

Sets a MediaController to send media keys and volume changes to. If set, this should be preferred for all media keys and volume requests sent to this window.

Parameters
controller MediaController!: The controller for the session which should receive media keys and volume changes.

setNavigationBarColor

Added in API level 21
abstract fun setNavigationBarColor(color: Int): Unit

Sets the color of the navigation bar to {@param color}. For this to take effect, the window must be drawing the system bar backgrounds with android.view.WindowManager.LayoutParams#FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS and android.view.WindowManager.LayoutParams#FLAG_TRANSLUCENT_NAVIGATION must not be set. If {@param color} is not opaque, consider setting android.view.View#SYSTEM_UI_FLAG_LAYOUT_STABLE and android.view.View#SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION.

The transitionName for the view background will be "android:navigation:background".

setNavigationBarContrastEnforced

Added in API level 29
open fun setNavigationBarContrastEnforced(enforceContrast: Boolean): Unit

Sets whether the system should ensure that the navigation bar has enough contrast when a fully transparent background is requested.

If set to this value, the system will determine whether a scrim is necessary to ensure that the navigation bar has enough contrast with the contents of this app, and set an appropriate effective bar background color accordingly.

When the navigation bar color has a non-zero alpha value, the value of this property has no effect.

setNavigationBarDividerColor

Added in API level 28
open fun setNavigationBarDividerColor(dividerColor: Int): Unit

Shows a thin line of the specified color between the navigation bar and the app content.

For this to take effect, the window must be drawing the system bar backgrounds with android.view.WindowManager.LayoutParams#FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS and android.view.WindowManager.LayoutParams#FLAG_TRANSLUCENT_NAVIGATION must not be set.

Parameters
dividerColor Int: The color of the thin line.

setPreferMinimalPostProcessing

Added in API level 30
open fun setPreferMinimalPostProcessing(isPreferred: Boolean): Unit

If isPreferred is true, this method requests that the connected display does minimal post processing when this window is visible on the screen. Otherwise, it requests that the display switches back to standard image processing.

By default, the display does not do minimal post processing and if this is desired, this method should not be used. It should be used with isPreferred=true when low latency has a higher priority than image enhancement processing (e.g. for games or video conferencing). The display will automatically go back into standard image processing mode when no window requesting minimal posst processing is visible on screen anymore. setPreferMinimalPostProcessing(false) can be used if setPreferMinimalPostProcessing(true) was previously called for this window and minimal post processing is no longer required.

If the Display sink is connected via HDMI, the device will begin to send infoframes with Auto Low Latency Mode enabled and Game Content Type. This will switch the connected display to a minimal image processing mode (if available), which reduces latency, improving the user experience for gaming or video conferencing applications. For more information, see HDMI 2.1 specification.

If the Display sink has an internal connection or uses some other protocol than HDMI, effects may be similar but implementation-defined.

The ability to switch to a mode with minimal post proessing may be disabled by a user setting in the system settings menu. In that case, this method does nothing.

Parameters
isPreferred Boolean: Indicates whether minimal post processing is preferred for this window (isPreferred=true) or not (isPreferred=false).

setReenterTransition

Added in API level 21
open fun setReenterTransition(transition: Transition!): Unit

Sets the Transition that will be used to move Views in to the scene when returning from a previously-started Activity. The entering Views will be those that are regular Views or ViewGroups that have ViewGroup#isTransitionGroup return true. Typical Transitions will extend android.transition.Visibility as exiting is governed by changing visibility from View#VISIBLE to View#INVISIBLE. If transition is null, the views will remain unaffected. If nothing is set, the default will be to use the same transition as setExitTransition(android.transition.Transition). Requires FEATURE_ACTIVITY_TRANSITIONS.

Parameters
transition Transition!: The Transition to use to move Views into the scene when reentering from a previously-started Activity.

setResizingCaptionDrawable

Added in API level 24
abstract fun setResizingCaptionDrawable(drawable: Drawable!): Unit

Set the drawable that is drawn underneath the caption during the resizing. During the resizing the caption might not be drawn fast enough to match the new dimensions. There is a second caption drawn underneath it that will be fast enough. By default the caption is constructed from the theme. You can provide a drawable, that will be drawn instead to better match your application.

setRestrictedCaptionAreaListener

Added in API level 24
fun setRestrictedCaptionAreaListener(listener: Window.OnRestrictedCaptionAreaChangedListener!): Unit

Set a callback for changes of area where caption will draw its content.

Parameters
listener Window.OnRestrictedCaptionAreaChangedListener!: Callback that will be called when the area changes.

setReturnTransition

Added in API level 21
open fun setReturnTransition(transition: Transition!): Unit

Sets the Transition that will be used to move Views out of the scene when the Window is preparing to close, for example after a call to android.app.Activity#finishAfterTransition(). The exiting Views will be those that are regular Views or ViewGroups that have ViewGroup#isTransitionGroup return true. Typical Transitions will extend android.transition.Visibility as entering is governed by changing visibility from View#VISIBLE to View#INVISIBLE. If transition is null, entering Views will remain unaffected. If nothing is set, the default will be to use the same value as set in setEnterTransition(android.transition.Transition).

Parameters
transition Transition!: The Transition to use to move Views out of the Scene when the Window is preparing to close.

setSharedElementEnterTransition

Added in API level 21
open fun setSharedElementEnterTransition(transition: Transition!): Unit

Sets the Transition that will be used for shared elements transferred into the content Scene. Typical Transitions will affect size and location, such as android.transition.ChangeBounds. A null value will cause transferred shared elements to blink to the final position. Requires FEATURE_ACTIVITY_TRANSITIONS.

Parameters
transition Transition!: The Transition to use for shared elements transferred into the content Scene.

setSharedElementExitTransition

Added in API level 21
open fun setSharedElementExitTransition(transition: Transition!): Unit

Sets the Transition that will be used for shared elements after starting a new Activity before the shared elements are transferred to the called Activity. If the shared elements must animate during the exit transition, this Transition should be used. Upon completion, the shared elements may be transferred to the started Activity. Requires FEATURE_ACTIVITY_TRANSITIONS.

Parameters
transition Transition!: The Transition to use for shared elements in the launching Window prior to transferring to the launched Activity's Window.

setSharedElementReenterTransition

Added in API level 21
open fun setSharedElementReenterTransition(transition: Transition!): Unit

Sets the Transition that will be used for shared elements reentering from a started Activity after it has returned the shared element to it start location. If no value is set, this will default to setSharedElementExitTransition(android.transition.Transition). Requires FEATURE_ACTIVITY_TRANSITIONS.

Parameters
transition Transition!: The Transition to use for shared elements in the launching Window after the shared element has returned to the Window.

setSharedElementReturnTransition

Added in API level 21
open fun setSharedElementReturnTransition(transition: Transition!): Unit

Sets the Transition that will be used for shared elements transferred back to a calling Activity. Typical Transitions will affect size and location, such as android.transition.ChangeBounds. A null value will cause transferred shared elements to blink to the final position. If no value is set, the default will be to use the same value as setSharedElementEnterTransition(android.transition.Transition). Requires FEATURE_ACTIVITY_TRANSITIONS.

Parameters
transition Transition!: The Transition to use for shared elements transferred out of the content Scene.

setSharedElementsUseOverlay

Added in API level 21
open fun setSharedElementsUseOverlay(sharedElementsUseOverlay: Boolean): Unit

Sets whether or not shared elements should use an Overlay during shared element transitions. The default value is true.

Parameters
sharedElementsUseOverlay Boolean: true indicates that shared elements should be transitioned with an Overlay or false to transition within the normal View hierarchy.

setSoftInputMode

Added in API level 3
open fun setSoftInputMode(mode: Int): Unit

Specify an explicit soft input mode to use for the window, as per WindowManager.LayoutParams#softInputMode. Providing anything besides "unspecified" here will override the input mode the window would normally retrieve from its theme.

setStatusBarColor

Added in API level 21
abstract fun setStatusBarColor(color: Int): Unit

Sets the color of the status bar to color. For this to take effect, the window must be drawing the system bar backgrounds with android.view.WindowManager.LayoutParams#FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS and android.view.WindowManager.LayoutParams#FLAG_TRANSLUCENT_STATUS must not be set. If color is not opaque, consider setting android.view.View#SYSTEM_UI_FLAG_LAYOUT_STABLE and android.view.View#SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN.

The transitionName for the view background will be "android:status:background".

setStatusBarContrastEnforced

Added in API level 29
open fun setStatusBarContrastEnforced(ensureContrast: Boolean): Unit

Sets whether the system should ensure that the status bar has enough contrast when a fully transparent background is requested.

If set to this value, the system will determine whether a scrim is necessary to ensure that the status bar has enough contrast with the contents of this app, and set an appropriate effective bar background color accordingly.

When the status bar color has a non-zero alpha value, the value of this property has no effect.

setSustainedPerformanceMode

Added in API level 24
open fun setSustainedPerformanceMode(enable: Boolean): Unit

setSystemGestureExclusionRects

Added in API level 29
open fun setSystemGestureExclusionRects(rects: MutableList<Rect!>): Unit

Sets a list of areas within this window's coordinate space where the system should not intercept touch or other pointing device gestures.

This method should be used by apps that make use of takeSurface(android.view.SurfaceHolder.Callback2) and do not have a view hierarchy available. Apps that do have a view hierarchy should use View#setSystemGestureExclusionRects(List) instead. This method does not modify or replace the gesture exclusion rects populated by individual views in this window's view hierarchy using View#setSystemGestureExclusionRects(List).

Use this to tell the system which specific sub-areas of a view need to receive gesture input in order to function correctly in the presence of global system gestures that may conflict. For example, if the system wishes to capture swipe-in-from-screen-edge gestures to provide system-level navigation functionality, a view such as a navigation drawer container can mark the left (or starting) edge of itself as requiring gesture capture priority using this API. The system may then choose to relax its own gesture recognition to allow the app to consume the user's gesture. It is not necessary for an app to register exclusion rects for broadly spanning regions such as the entirety of a ScrollView or for simple press and release click targets such as Button. Mark an exclusion rect when interacting with a view requires a precision touch gesture in a small area in either the X or Y dimension, such as an edge swipe or dragging a SeekBar thumb.

Do not modify the provided list after this method is called.

Parameters
rects MutableList<Rect!>: A list of precision gesture regions that this window needs to function correctly This value cannot be null.

setTitle

Added in API level 1
abstract fun setTitle(title: CharSequence!): Unit

setTitleColor

Added in API level 1
Deprecated in API level 21
abstract fun setTitleColor(textColor: Int): Unit

Deprecated.

setTransitionBackgroundFadeDuration

Added in API level 21
open fun setTransitionBackgroundFadeDuration(fadeDurationMillis: Long): Unit

Sets the duration, in milliseconds, of the window background fade when transitioning into or away from an Activity when called with an Activity Transition.

When executing the enter transition, the background starts transparent and fades in. This requires FEATURE_ACTIVITY_TRANSITIONS. The default is 300 milliseconds.

Parameters
fadeDurationMillis Long: The duration of the window background fade to or from opaque during enter transition.

setTransitionManager

Added in API level 21
open fun setTransitionManager(tm: TransitionManager!): Unit

Set the TransitionManager to use for default transitions in this window. Requires FEATURE_CONTENT_TRANSITIONS.

Parameters
tm TransitionManager!: The TransitionManager to use for scene changes.

setType

Added in API level 1
open fun setType(type: Int): Unit

Set the type of the window, as per the WindowManager.LayoutParams types.

Parameters
type Int: The new window type (see WindowManager.LayoutParams).

setUiOptions

Added in API level 14
open fun setUiOptions(uiOptions: Int): Unit

Set extra options that will influence the UI for this window.

Parameters
uiOptions Int: Flags specifying extra options for this window.

setUiOptions

Added in API level 14
open fun setUiOptions(
    uiOptions: Int,
    mask: Int
): Unit

Set extra options that will influence the UI for this window. Only the bits filtered by mask will be modified.

Parameters
uiOptions Int: Flags specifying extra options for this window.
mask Int: Flags specifying which options should be modified. Others will remain unchanged.

setVolumeControlStream

Added in API level 1
abstract fun setVolumeControlStream(streamType: Int): Unit

setWindowAnimations

Added in API level 3
open fun setWindowAnimations(resId: Int): Unit

Specify custom animations to use for the window, as per WindowManager.LayoutParams#windowAnimations. Providing anything besides 0 here will override the animations the window would normally retrieve from its theme.

setWindowManager

Added in API level 1
open fun setWindowManager(
    wm: WindowManager!,
    appToken: IBinder!,
    appName: String!
): Unit

Set the window manager for use by this Window to, for example, display panels. This is not used for displaying the Window itself -- that must be done by the client.

Parameters
wm WindowManager!: The window manager for adding new windows.

setWindowManager

Added in API level 11
open fun setWindowManager(
    wm: WindowManager!,
    appToken: IBinder!,
    appName: String!,
    hardwareAccelerated: Boolean
): Unit

Set the window manager for use by this Window to, for example, display panels. This is not used for displaying the Window itself -- that must be done by the client.

Parameters
wm WindowManager!: The window manager for adding new windows.

superDispatchGenericMotionEvent

Added in API level 12
abstract fun superDispatchGenericMotionEvent(event: MotionEvent!): Boolean

Used by custom windows, such as Dialog, to pass the generic motion event further down the view hierarchy. Application developers should not need to implement or call this.

superDispatchKeyEvent

Added in API level 1
abstract fun superDispatchKeyEvent(event: KeyEvent!): Boolean

Used by custom windows, such as Dialog, to pass the key press event further down the view hierarchy. Application developers should not need to implement or call this.

superDispatchKeyShortcutEvent

Added in API level 11
abstract fun superDispatchKeyShortcutEvent(event: KeyEvent!): Boolean

Used by custom windows, such as Dialog, to pass the key shortcut press event further down the view hierarchy. Application developers should not need to implement or call this.

superDispatchTouchEvent

Added in API level 1
abstract fun superDispatchTouchEvent(event: MotionEvent!): Boolean

Used by custom windows, such as Dialog, to pass the touch screen event further down the view hierarchy. Application developers should not need to implement or call this.

superDispatchTrackballEvent

Added in API level 1
abstract fun superDispatchTrackballEvent(event: MotionEvent!): Boolean

Used by custom windows, such as Dialog, to pass the trackball event further down the view hierarchy. Application developers should not need to implement or call this.

takeInputQueue

Added in API level 9
abstract fun takeInputQueue(callback: InputQueue.Callback!): Unit

Take ownership of this window's InputQueue. The window will no longer read and dispatch input events from the queue; it is your responsibility to do so.

takeKeyEvents

Added in API level 1
abstract fun takeKeyEvents(get: Boolean): Unit

Request that key events come to this activity. Use this if your activity has no views with focus, but the activity still wants a chance to process key events.

takeSurface

Added in API level 9
abstract fun takeSurface(callback: SurfaceHolder.Callback2!): Unit

Take ownership of this window's surface. The window's view hierarchy will no longer draw into the surface, though it will otherwise continue to operate (such as for receiving input events). The given SurfaceHolder callback will be used to tell you about state changes to the surface.

togglePanel

Added in API level 1
abstract fun togglePanel(
    featureId: Int,
    event: KeyEvent!
): Unit

Protected methods

getFeatures

Added in API level 1
protected fun getFeatures(): Int

Return the feature bits that are enabled. This is the set of features that were given to requestFeature(), and are being handled by this Window itself or its container. That is, it is the set of requested features that you can actually use.

To do: add a public version of this API that allows you to check for features by their feature ID.

Return
Int int The feature bits.

getForcedWindowFlags

Added in API level 1
protected fun getForcedWindowFlags(): Int

Return the window flags that have been explicitly set by the client, so will not be modified by getDecorView.

getLocalFeatures

Added in API level 1
protected fun getLocalFeatures(): Int

Return the feature bits that are being implemented by this Window. This is the set of features that were given to requestFeature(), and are being handled by only this Window itself, not by its containers.

Return
Int int The feature bits.

hasSoftInputMode

Added in API level 3
protected fun hasSoftInputMode(): Boolean

Has the app specified their own soft input mode?

onActive

Added in API level 1
protected abstract fun onActive(): Unit

setDefaultWindowFormat

Added in API level 1
protected open fun setDefaultWindowFormat(format: Int): Unit

Set the default format of window, as per the PixelFormat types. This is the format that will be used unless the client specifies in explicit format with setFormat();

Parameters
format Int: The new window format (see PixelFormat).