android官方API之View

来源:https://developer.android.com/reference/android/view/View

View

public class View 
extends Object implements Drawable.CallbackKeyEvent.CallbackAccessibilityEventSource

java.lang.Object
   ↳ android.view.View
Known direct subclasses

AnalogClockImageViewKeyboardViewMediaRouteButtonProgressBarSpaceSurfaceViewTextViewTextureViewViewGroupViewStub

Known indirect subclasses

AbsListViewAbsSeekBarAbsSpinnerAbsoluteLayoutActionMenuViewAdapterView<T extends Adapter>, AdapterViewAnimatorAdapterViewFlipperAppWidgetHostViewAutoCompleteTextViewButtonCalendarView, and 52 others.


This class represents the basic building block for user interface components. A View occupies a rectangular area on the screen and is responsible for drawing and event handling. View is the base class for widgets, which are used to create interactive UI components (buttons, text fields, etc.). The ViewGroup subclass is the base class for layouts, which are invisible containers that hold other Views (or other ViewGroups) and define their layout properties.

Developer Guides

For information about using this class to develop your application's user interface, read the User Interface developer guide.

Using Views

All of the views in a window are arranged in a single tree. You can add views either from code or by specifying a tree of views in one or more XML layout files. There are many specialized subclasses of views that act as controls or are capable of displaying text, images, or other content.

Once you have created a tree of views, there are typically a few types of common operations you may wish to perform:

  • Set properties: for example setting the text of a TextView. The available properties and the methods that set them will vary among the different subclasses of views. Note that properties that are known at build time can be set in the XML layout files.
  • Set focus: The framework will handle moving focus in response to user input. To force focus to a specific view, callrequestFocus().
  • Set up listeners: Views allow clients to set listeners that will be notified when something interesting happens to the view. For example, all views will let you set a listener to be notified when the view gains or loses focus. You can register such a listener using setOnFocusChangeListener(android.view.View.OnFocusChangeListener). Other view subclasses offer more specialized listeners. For example, a Button exposes a listener to notify clients when the button is clicked.
  • Set visibility: You can hide or show views using setVisibility(int).

Note: The Android framework is responsible for measuring, laying out and drawing views. You should not call methods that perform these actions on views yourself unless you are actually implementing a ViewGroup.

Implementing a Custom View

To implement a custom view, you will usually begin by providing overrides for some of the standard methods that the framework calls on all views. You do not need to override all of these methods. In fact, you can start by just overriding onDraw(android.graphics.Canvas).

Category Methods Description
Creation Constructors There is a form of the constructor that are called when the view is created from code and a form that is called when the view is inflated from a layout file. The second form should parse and apply any attributes defined in the layout file.
onFinishInflate() Called after a view and all of its children has been inflated from XML.
Layout onMeasure(int, int) Called to determine the size requirements for this view and all of its children.
onLayout(boolean, int,int, int, int) Called when this view should assign a size and position to all of its children.
onSizeChanged(int, int,int, int) Called when the size of this view has changed.
Drawing onDraw(android.graphics.Canvas) Called when the view should render its content.
Event processing onKeyDown(int, KeyEvent) Called when a new hardware key event occurs.
onKeyUp(int, KeyEvent) Called when a hardware key up event occurs.
onTrackballEvent(MotionEvent) Called when a trackball motion event occurs.
onTouchEvent(MotionEvent) Called when a touch screen motion event occurs.
Focus onFocusChanged(boolean,int, android.graphics.Rect) Called when the view gains or loses focus.
onWindowFocusChanged(boolean) Called when the window containing the view gains or loses focus.
Attaching onAttachedToWindow() Called when the view is attached to a window.
onDetachedFromWindow() Called when the view is detached from its window.
onWindowVisibilityChanged(int) Called when the visibility of the window containing the view has changed.

IDs

Views may have an integer id associated with them. These ids are typically assigned in the layout XML files, and are used to find specific views within the view tree. A common pattern is to:

  • Define a Button in the layout file and assign it a unique ID.
     
    <Button android:id="@+id/my_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/my_button_text"/>
  • From the onCreate method of an Activity, find the Button
     
          Button myButton = findViewById(R.id.my_button);
     

View IDs need not be unique throughout the tree, but it is good practice to ensure that they are at least unique within the part of the tree you are searching.

Position

The geometry of a view is that of a rectangle. A view has a location, expressed as a pair of left and top coordinates, and two dimensions, expressed as a width and a height. The unit for location and dimensions is the pixel.

It is possible to retrieve the location of a view by invoking the methods getLeft() and getTop(). The former returns the left, or X, coordinate of the rectangle representing the view. The latter returns the top, or Y, coordinate of the rectangle representing the view. These methods both return the location of the view relative to its parent. For instance, when getLeft() returns 20, that means the view is located 20 pixels to the right of the left edge of its direct parent.

In addition, several convenience methods are offered to avoid unnecessary computations, namely getRight() and getBottom(). These methods return the coordinates of the right and bottom edges of the rectangle representing the view. For instance, calling getRight() is similar to the following computation: getLeft() + getWidth() (see Size for more information about the width.)

Size, padding and margins

The size of a view is expressed with a width and a height. A view actually possess two pairs of width and height values.

The first pair is known as measured width and measured height. These dimensions define how big a view wants to be within its parent (see Layout for more details.) The measured dimensions can be obtained by calling getMeasuredWidth() and getMeasuredHeight().

The second pair is simply known as width and height, or sometimes drawing width and drawing height. These dimensions define the actual size of the view on screen, at drawing time and after layout. These values may, but do not have to, be different from the measured width and height. The width and height can be obtained by calling getWidth() and getHeight().

To measure its dimensions, a view takes into account its padding. The padding is expressed in pixels for the left, top, right and bottom parts of the view. Padding can be used to offset the content of the view by a specific amount of pixels. For instance, a left padding of 2 will push the view's content by 2 pixels to the right of the left edge. Padding can be set using the setPadding(int, int, int, int) or setPaddingRelative(int, int, int, int) method and queried by calling getPaddingLeft()getPaddingTop()getPaddingRight()getPaddingBottom()getPaddingStart()getPaddingEnd().

Even though a view can define a padding, it does not provide any support for margins. However, view groups provide such a support. Refer to ViewGroup and ViewGroup.MarginLayoutParams for further information.

Layout

Layout is a two pass process: a measure pass and a layout pass. The measuring pass is implemented in measure(int, int) and is a top-down traversal of the view tree. Each view pushes dimension specifications down the tree during the recursion. At the end of the measure pass, every view has stored its measurements. The second pass happens inlayout(int, int, int, int) and is also top-down. During this pass each parent is responsible for positioning all of its children using the sizes computed in the measure pass.

When a view's measure() method returns, its getMeasuredWidth() and getMeasuredHeight() values must be set, along with those for all of that view's descendants. A view's measured width and measured height values must respect the constraints imposed by the view's parents. This guarantees that at the end of the measure pass, all parents accept all of their children's measurements. A parent view may call measure() more than once on its children. For example, the parent may measure each child once with unspecified dimensions to find out how big they want to be, then call measure() on them again with actual numbers if the sum of all the children's unconstrained sizes is too big or too small.

The measure pass uses two classes to communicate dimensions. The View.MeasureSpec class is used by views to tell their parents how they want to be measured and positioned. The base LayoutParams class just describes how big the view wants to be for both width and height. For each dimension, it can specify one of:

  • an exact number
  • MATCH_PARENT, which means the view wants to be as big as its parent (minus padding)
  • WRAP_CONTENT, which means that the view wants to be just big enough to enclose its content (plus padding).

There are subclasses of LayoutParams for different subclasses of ViewGroup. For example, AbsoluteLayout has its own subclass of LayoutParams which adds an X and Y value.

MeasureSpecs are used to push requirements down the tree from parent to child. A MeasureSpec can be in one of three modes:

  • UNSPECIFIED: This is used by a parent to determine the desired dimension of a child view. For example, a LinearLayout may call measure() on its child with the height set to UNSPECIFIED and a width of EXACTLY 240 to find out how tall the child view wants to be given a width of 240 pixels.
  • EXACTLY: This is used by the parent to impose an exact size on the child. The child must use this size, and guarantee that all of its descendants will fit within this size.
  • AT_MOST: This is used by the parent to impose a maximum size on the child. The child must guarantee that it and all of its descendants will fit within this size.

To initiate a layout, call requestLayout(). This method is typically called by a view on itself when it believes that is can no longer fit within its current bounds.

Drawing

Drawing is handled by walking the tree and recording the drawing commands of any View that needs to update. After this, the drawing commands of the entire tree are issued to screen, clipped to the newly damaged area.

The tree is largely recorded and drawn in order, with parents drawn before (i.e., behind) their children, with siblings drawn in the order they appear in the tree. If you set a background drawable for a View, then the View will draw it before calling back to its onDraw() method. The child drawing order can be overridden with custom child drawing order in a ViewGroup, and with setZ(float) custom Z values} set on Views.

To force a view to draw, call invalidate().

Event Handling and Threading

The basic cycle of a view is as follows:

  1. An event comes in and is dispatched to the appropriate view. The view handles the event and notifies any listeners.
  2. If in the course of processing the event, the view's bounds may need to be changed, the view will call requestLayout().
  3. Similarly, if in the course of processing the event the view's appearance may need to be changed, the view will call invalidate().
  4. If either requestLayout() or invalidate() were called, the framework will take care of measuring, laying out, and drawing the tree as appropriate.

Note: The entire view tree is single threaded. You must always be on the UI thread when calling any method on any view. If you are doing work on other threads and want to update the state of a view from that thread, you should use a Handler.

Focus Handling

The framework will handle routine focus movement in response to user input. This includes changing the focus as views are removed or hidden, or as new views become available. Views indicate their willingness to take focus through the isFocusable() method. To change whether a view can take focus, call setFocusable(boolean). When in touch mode (see notes below) views indicate whether they still would like focus via isFocusableInTouchMode() and can change this via setFocusableInTouchMode(boolean).

Focus movement is based on an algorithm which finds the nearest neighbor in a given direction. In rare cases, the default algorithm may not match the intended behavior of the developer. In these situations, you can provide explicit overrides by using these XML attributes in the layout file:

 

nextFocusDown nextFocusLeft nextFocusRight nextFocusUp

To get a particular view to take focus, call requestFocus().

Touch Mode

When a user is navigating a user interface via directional keys such as a D-pad, it is necessary to give focus to actionable items such as buttons so the user can see what will take input. If the device has touch capabilities, however, and the user begins interacting with the interface by touching it, it is no longer necessary to always highlight, or give focus to, a particular view. This motivates a mode for interaction named 'touch mode'.

For a touch capable device, once the user touches the screen, the device will enter touch mode. From this point onward, only views for which isFocusableInTouchMode() is true will be focusable, such as text editing widgets. Other views that are touchable, like buttons, will not take focus when touched; they will only fire the on click listeners.

Any time a user hits a directional key, such as a D-pad direction, the view device will exit touch mode, and find a view to take focus, so that the user may resume interacting with the user interface without touching the screen again.

The touch mode state is maintained across Activitys. Call isInTouchMode() to see whether the device is currently in touch mode.

Scrolling

The framework provides basic support for views that wish to internally scroll their content. This includes keeping track of the X and Y scroll offset as well as mechanisms for drawing scrollbars. See scrollBy(int, int)scrollTo(int, int), and awakenScrollBars() for more details.

Tags

Unlike IDs, tags are not used to identify views. Tags are essentially an extra piece of information that can be associated with a view. They are most often used as a convenience to store data related to views in the views themselves rather than by putting them in a separate structure.

Tags may be specified with character sequence values in layout XML as either a single tag using the android:tagattribute or multiple tags using the <tag> child element:

 

<View ... android:tag="@string/mytag_value" /> <View ...> <tag android:id="@+id/mytag" android:value="@string/mytag_value" /> </View>

Tags may also be specified with arbitrary objects from code using setTag(Object) or setTag(int, Object).

Themes

By default, Views are created using the theme of the Context object supplied to their constructor; however, a different theme may be specified by using the android:theme attribute in layout XML or by passing a ContextThemeWrapper to the constructor from code.

When the android:theme attribute is used in XML, the specified theme is applied on top of the inflation context's theme (see LayoutInflater) and used for the view itself as well as any child elements.

In the following example, both views will be created using the Material dark color scheme; however, because an overlay theme is used which only defines a subset of attributes, the value of android:colorAccent defined on the inflation context's theme (e.g. the Activity theme) will be preserved.

 

<LinearLayout ... android:theme="@android:theme/ThemeOverlay.Material.Dark"> <View ...> </LinearLayout>

Properties

The View class exposes an ALPHA property, as well as several transform-related properties, such as TRANSLATION_Xand TRANSLATION_Y. These properties are available both in the Property form as well as in similarly-named setter/getter methods (such as setAlpha(float) for ALPHA). These properties can be used to set persistent state associated with these rendering-related properties on the view. The properties and methods can also be used in conjunction with Animator-based animations, described more in the Animation section.

Animation

Starting with Android 3.0, the preferred way of animating views is to use the android.animation package APIs. These Animator-based classes change actual properties of the View object, such as alpha and translationX. This behavior is contrasted to that of the pre-3.0 Animation-based classes, which instead animate only how the view is drawn on the display. In particular, the ViewPropertyAnimator class makes animating these View properties particularly easy and efficient.

Alternatively, you can use the pre-3.0 animation classes to animate how Views are rendered. You can attach an Animation object to a view using setAnimation(Animation) or startAnimation(Animation). The animation can alter the scale, rotation, translation and alpha of a view over time. If the animation is attached to a view that has children, the animation will affect the entire subtree rooted by that node. When an animation is started, the framework will take care of redrawing the appropriate views until the animation completes.

Security

Sometimes it is essential that an application be able to verify that an action is being performed with the full knowledge and consent of the user, such as granting a permission request, making a purchase or clicking on an advertisement. Unfortunately, a malicious application could try to spoof the user into performing these actions, unaware, by concealing the intended purpose of the view. As a remedy, the framework offers a touch filtering mechanism that can be used to improve the security of views that provide access to sensitive functionality.

To enable touch filtering, call setFilterTouchesWhenObscured(boolean) or set the android:filterTouchesWhenObscured layout attribute to true. When enabled, the framework will discard touches that are received whenever the view's window is obscured by another visible window. As a result, the view will not receive touches whenever a toast, dialog or other window appears above the view's window.

For more fine-grained control over security, consider overriding the onFilterTouchEventForSecurity(MotionEvent)method to implement your own security policy. See also MotionEvent.FLAG_WINDOW_IS_OBSCURED.

This method must be called on the thread that originally created this UI element. This is typically the main thread of your app.

See also:

Summary

Nested classes

class View.AccessibilityDelegate

This class represents a delegate that can be registered in a View to enhance accessibility support via composition rather via inheritance. 

class View.BaseSavedState

Base class for derived classes that want to save and restore their own state in View.onSaveInstanceState()

class View.DragShadowBuilder

Creates an image that the system displays during the drag and drop operation. 

class View.MeasureSpec

A MeasureSpec encapsulates the layout requirements passed from parent to child. 

interface View.OnApplyWindowInsetsListener

Listener for applying window insets on a view in a custom way. 

interface View.OnAttachStateChangeListener

Interface definition for a callback to be invoked when this view is attached or detached from its window. 

interface View.OnCapturedPointerListener

Interface definition for a callback to be invoked when a captured pointer event is being dispatched this view. 

interface View.OnClickListener

Interface definition for a callback to be invoked when a view is clicked. 

interface View.OnContextClickListener

Interface definition for a callback to be invoked when a view is context clicked. 

interface View.OnCreateContextMenuListener

Interface definition for a callback to be invoked when the context menu for this view is being built. 

interface View.OnDragListener

Interface definition for a callback to be invoked when a drag is being dispatched to this view. 

interface View.OnFocusChangeListener

Interface definition for a callback to be invoked when the focus state of a view changed. 

interface View.OnGenericMotionListener

Interface definition for a callback to be invoked when a generic motion event is dispatched to this view. 

interface View.OnHoverListener

Interface definition for a callback to be invoked when a hover event is dispatched to this view. 

interface View.OnKeyListener

Interface definition for a callback to be invoked when a hardware key event is dispatched to this view. 

interface View.OnLayoutChangeListener

Interface definition for a callback to be invoked when the layout bounds of a view changes due to layout processing. 

interface View.OnLongClickListener

Interface definition for a callback to be invoked when a view has been clicked and held. 

interface View.OnScrollChangeListener

Interface definition for a callback to be invoked when the scroll X or Y positions of a view change. 

interface View.OnSystemUiVisibilityChangeListener

Interface definition for a callback to be invoked when the status bar changes visibility. 

interface View.OnTouchListener

Interface definition for a callback to be invoked when a touch event is dispatched to this view. 

interface View.OnUnhandledKeyEventListener

Interface definition for a callback to be invoked when a hardware key event hasn't been handled by the view hierarchy. 

XML attributes

android:accessibilityHeading Whether or not this view is a heading for accessibility purposes. 
android:accessibilityLiveRegion Indicates to accessibility services whether the user should be notified when this view changes. 
android:accessibilityTraversalAfter Sets the id of a view after which this one is visited in accessibility traversal. 
android:accessibilityTraversalBefore Sets the id of a view before which this one is visited in accessibility traversal. 
android:alpha alpha property of the view, as a value between 0 (completely transparent) and 1 (completely opaque). 
android:autofillHints Describes the content of a view so that a autofill service can fill in the appropriate data. 
android:autofilledHighlight Drawable to be drawn over the view to mark it as autofilled

May be a reference to another resource, in the form "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name". 

android:background A drawable to use as the background. 
android:backgroundTint Tint to apply to the background. 
android:backgroundTintMode Blending mode used to apply the background tint. 
android:clickable Defines whether this view reacts to click events. 
android:contentDescription Defines text that briefly describes content of the view. 
android:contextClickable Defines whether this view reacts to context click events. 
android:defaultFocusHighlightEnabled Whether this View should use a default focus highlight when it gets focused but doesn't have R.attr.state_focused defined in its background. 
android:drawingCacheQuality Defines the quality of translucent drawing caches. 
android:duplicateParentState When this attribute is set to true, the view gets its drawable state (focused, pressed, etc.) from its direct parent rather than from itself. 
android:elevation base z depth of the view. 
android:fadeScrollbars Defines whether to fade out scrollbars when they are not in use. 
android:fadingEdgeLength Defines the length of the fading edges. 
android:filterTouchesWhenObscured Specifies whether to filter touches when the view's window is obscured by another visible window. 
android:fitsSystemWindows Boolean internal attribute to adjust view layout based on system windows such as the status bar. 
android:focusable Controls whether a view can take focus. 
android:focusableInTouchMode Boolean that controls whether a view can take focus while in touch mode. 
android:focusedByDefault Whether this view is a default-focus view. 
android:forceHasOverlappingRendering Whether this view has elements that may overlap when drawn. 
android:foreground Defines the drawable to draw over the content. 
android:foregroundGravity Defines the gravity to apply to the foreground drawable. 
android:foregroundTint Tint to apply to the foreground. 
android:foregroundTintMode Blending mode used to apply the foreground tint. 
android:hapticFeedbackEnabled Boolean that controls whether a view should have haptic feedback enabled for events such as long presses. 
android:id Supply an identifier name for this view, to later retrieve it with View.findViewById() or Activity.findViewById()
android:importantForAccessibility Describes whether or not this view is important for accessibility. 
android:importantForAutofill Hints the Android System whether the view node associated with this View should be included in a view structure used for autofill purposes. 
android:isScrollContainer Set this if the view will serve as a scrolling container, meaning that it can be resized to shrink its overall window so that there will be space for an input method. 
android:keepScreenOn Controls whether the view's window should keep the screen on while visible. 
android:keyboardNavigationCluster Whether this view is a root of a keyboard navigation cluster. 
android:layerType Specifies the type of layer backing this view. 
android:layoutDirection Defines the direction of layout drawing. 
android:longClickable Defines whether this view reacts to long click events. 
android:minHeight Defines the minimum height of the view. 
android:minWidth Defines the minimum width of the view. 
android:nextClusterForward Defines the next keyboard navigation cluster. 
android:nextFocusDown Defines the next view to give focus to when the next focus is View.FOCUS_DOWN If the reference refers to a view that does not exist or is part of a hierarchy that is invisible, a RuntimeException will result when the reference is accessed. 
android:nextFocusForward Defines the next view to give focus to when the next focus is View.FOCUS_FORWARD If the reference refers to a view that does not exist or is part of a hierarchy that is invisible, a RuntimeException will result when the reference is accessed. 
android:nextFocusLeft Defines the next view to give focus to when the next focus is View.FOCUS_LEFT
android:nextFocusRight Defines the next view to give focus to when the next focus is View.FOCUS_RIGHT If the reference refers to a view that does not exist or is part of a hierarchy that is invisible, a RuntimeException will result when the reference is accessed. 
android:nextFocusUp Defines the next view to give focus to when the next focus is View.FOCUS_UP If the reference refers to a view that does not exist or is part of a hierarchy that is invisible, a RuntimeException will result when the reference is accessed. 
android:onClick Name of the method in this View's context to invoke when the view is clicked. 
android:outlineAmbientShadowColor Sets the color of the ambient shadow that is drawn when the view has a positive Z or elevation value. 
android:outlineSpotShadowColor Sets the color of the spot shadow that is drawn when the view has a positive Z or elevation value. 
android:padding Sets the padding, in pixels, of all four edges. 
android:paddingBottom Sets the padding, in pixels, of the bottom edge; see R.attr.padding
android:paddingEnd Sets the padding, in pixels, of the end edge; see R.attr.padding
android:paddingHorizontal Sets the padding, in pixels, of the left and right edges; see R.attr.padding
android:paddingLeft Sets the padding, in pixels, of the left edge; see R.attr.padding
android:paddingRight Sets the padding, in pixels, of the right edge; see R.attr.padding
android:paddingStart Sets the padding, in pixels, of the start edge; see R.attr.padding
android:paddingTop Sets the padding, in pixels, of the top edge; see R.attr.padding
android:paddingVertical Sets the padding, in pixels, of the top and bottom edges; see R.attr.padding
android:requiresFadingEdge Defines which edges should be faded on scrolling. 
android:rotation rotation of the view, in degrees. 
android:rotationX rotation of the view around the x axis, in degrees. 
android:rotationY rotation of the view around the y axis, in degrees. 
android:saveEnabled If false, no state will be saved for this view when it is being frozen. 
android:scaleX scale of the view in the x direction. 
android:scaleY scale of the view in the y direction. 
android:scrollIndicators Defines which scroll indicators should be displayed when the view can be scrolled. 
android:scrollX The initial horizontal scroll offset, in pixels. 
android:scrollY The initial vertical scroll offset, in pixels. 
android:scrollbarAlwaysDrawHorizontalTrack Defines whether the horizontal scrollbar track should always be drawn. 
android:scrollbarAlwaysDrawVerticalTrack Defines whether the vertical scrollbar track should always be drawn. 
android:scrollbarDefaultDelayBeforeFade Defines the delay in milliseconds that a scrollbar waits before fade out. 
android:scrollbarFadeDuration Defines the delay in milliseconds that a scrollbar takes to fade out. 
android:scrollbarSize Sets the width of vertical scrollbars and height of horizontal scrollbars. 
android:scrollbarStyle Controls the scrollbar style and position. 
android:scrollbarThumbHorizontal Defines the horizontal scrollbar thumb drawable. 
android:scrollbarThumbVertical Defines the vertical scrollbar thumb drawable. 
android:scrollbarTrackHorizontal Defines the horizontal scrollbar track drawable. 
android:scrollbarTrackVertical Defines the vertical scrollbar track drawable. 
android:scrollbars Defines which scrollbars should be displayed on scrolling or not. 
android:soundEffectsEnabled Boolean that controls whether a view should have sound effects enabled for events such as clicking and touching. 
android:stateListAnimator Sets the state-based animator for the View. 
android:tag Supply a tag for this view containing a String, to be retrieved later with View.getTag() or searched for with View.findViewWithTag()
android:textAlignment Defines the alignment of the text. 
android:textDirection Defines the direction of the text. 
android:theme Specifies a theme override for a view. 
android:tooltipText Defines text displayed in a small popup window on hover or long press. 
android:transformPivotX x location of the pivot point around which the view will rotate and scale. 
android:transformPivotY y location of the pivot point around which the view will rotate and scale. 
android:transitionName Names a View such that it can be identified for Transitions. 
android:translationX translation in x of the view. 
android:translationY translation in y of the view. 
android:translationZ translation in z of the view. 
android:visibility Controls the initial visibility of the view. 

Constants

int ACCESSIBILITY_LIVE_REGION_ASSERTIVE

Live region mode specifying that accessibility services should interrupt ongoing speech to immediately announce changes to this view.

int ACCESSIBILITY_LIVE_REGION_NONE

Live region mode specifying that accessibility services should not automatically announce changes to this view.

int ACCESSIBILITY_LIVE_REGION_POLITE

Live region mode specifying that accessibility services should announce changes to this view.

int AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS

Flag requesting you to add views that are marked as not important for autofill (see setImportantForAutofill(int)) to a ViewStructure.

String AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE

Hint indicating that this view can be autofilled with a credit card expiration date.

String AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY

Hint indicating that this view can be autofilled with a credit card expiration day.

String AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH

Hint indicating that this view can be autofilled with a credit card expiration month.

String AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR

Hint indicating that this view can be autofilled with a credit card expiration year.

String AUTOFILL_HINT_CREDIT_CARD_NUMBER

Hint indicating that this view can be autofilled with a credit card number.

String AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE

Hint indicating that this view can be autofilled with a credit card security code.

String AUTOFILL_HINT_EMAIL_ADDRESS

Hint indicating that this view can be autofilled with an email address.

String AUTOFILL_HINT_NAME

Hint indicating that this view can be autofilled with a user's real name.

String AUTOFILL_HINT_PASSWORD

Hint indicating that this view can be autofilled with a password.

String AUTOFILL_HINT_PHONE

Hint indicating that this view can be autofilled with a phone number.

String AUTOFILL_HINT_POSTAL_ADDRESS

Hint indicating that this view can be autofilled with a postal address.

String AUTOFILL_HINT_POSTAL_CODE

Hint indicating that this view can be autofilled with a postal code.

String AUTOFILL_HINT_USERNAME

Hint indicating that this view can be autofilled with a username.

int AUTOFILL_TYPE_DATE

Autofill type for a field that contains a date, which is represented by a long representing the number of milliseconds since the standard base time known as "the epoch", namely January 1, 1970, 00:00:00 GMT (see Date.getTime().

int AUTOFILL_TYPE_LIST

Autofill type for a selection list field, which is filled by an int representing the element index inside the list (starting at 0).

int AUTOFILL_TYPE_NONE

Autofill type for views that cannot be autofilled.

int AUTOFILL_TYPE_TEXT

Autofill type for a text field, which is filled by a CharSequence.

int AUTOFILL_TYPE_TOGGLE

Autofill type for a togglable field, which is filled by a boolean.

int DRAG_FLAG_GLOBAL

Flag indicating that a drag can cross window boundaries.

int DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION

When this flag is used with DRAG_FLAG_GLOBAL_URI_READ and/or DRAG_FLAG_GLOBAL_URI_WRITE, the URI permission grant can be persisted across device reboots until explicitly revoked with Context.revokeUriPermission(Uri, int)Context.revokeUriPermission}.

int DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION

When this flag is used with DRAG_FLAG_GLOBAL_URI_READ and/or DRAG_FLAG_GLOBAL_URI_WRITE, the URI permission grant applies to any URI that is a prefix match against the original granted URI.

int DRAG_FLAG_GLOBAL_URI_READ

When this flag is used with DRAG_FLAG_GLOBAL, the drag recipient will be able to request read access to the content URI(s) contained in the ClipData object.

int DRAG_FLAG_GLOBAL_URI_WRITE

When this flag is used with DRAG_FLAG_GLOBAL, the drag recipient will be able to request write access to the content URI(s) contained in the ClipData object.

int DRAG_FLAG_OPAQUE

Flag indicating that the drag shadow will be opaque.

int DRAWING_CACHE_QUALITY_AUTO

This constant was deprecated in API level 28. The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

int DRAWING_CACHE_QUALITY_HIGH

This constant was deprecated in API level 28. The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

int DRAWING_CACHE_QUALITY_LOW

This constant was deprecated in API level 28. The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

int FIND_VIEWS_WITH_CONTENT_DESCRIPTION

Find find views that contain the specified content description.

int FIND_VIEWS_WITH_TEXT

Find views that render the specified text.

int FOCUSABLE

This view wants keystrokes.

int FOCUSABLES_ALL

View flag indicating whether addFocusables(ArrayList, int, int) should add all focusable Views regardless if they are focusable in touch mode.

int FOCUSABLES_TOUCH_MODE

View flag indicating whether addFocusables(ArrayList, int, int) should add only Views focusable in touch mode.

int FOCUSABLE_AUTO

This view determines focusability automatically.

int FOCUS_BACKWARD

Use with focusSearch(int).

int FOCUS_DOWN

Use with focusSearch(int).

int FOCUS_FORWARD

Use with focusSearch(int).

int FOCUS_LEFT

Use with focusSearch(int).

int FOCUS_RIGHT

Use with focusSearch(int).

int FOCUS_UP

Use with focusSearch(int).

int GONE

This view is invisible, and it doesn't take any space for layout purposes.

int HAPTIC_FEEDBACK_ENABLED

View flag indicating whether this view should have haptic feedback enabled for events such as long presses.

int IMPORTANT_FOR_ACCESSIBILITY_AUTO

Automatically determine whether a view is important for accessibility.

int IMPORTANT_FOR_ACCESSIBILITY_NO

The view is not important for accessibility.

int IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS

The view is not important for accessibility, nor are any of its descendant views.

int IMPORTANT_FOR_ACCESSIBILITY_YES

The view is important for accessibility.

int IMPORTANT_FOR_AUTOFILL_AUTO

Automatically determine whether a view is important for autofill.

int IMPORTANT_FOR_AUTOFILL_NO

The view is not important for autofill, but its children (if any) will be traversed.

int IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS

The view is not important for autofill, and its children (if any) will not be traversed.

int IMPORTANT_FOR_AUTOFILL_YES

The view is important for autofill, and its children (if any) will be traversed.

int IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS

The view is important for autofill, but its children (if any) will not be traversed.

int INVISIBLE

This view is invisible, but it still takes up space for layout purposes.

int KEEP_SCREEN_ON

View flag indicating that the screen should remain on while the window containing this view is visible to the user.

int LAYER_TYPE_HARDWARE

Indicates that the view has a hardware layer.

int LAYER_TYPE_NONE

Indicates that the view does not have a layer.

int LAYER_TYPE_SOFTWARE

Indicates that the view has a software layer.

int LAYOUT_DIRECTION_INHERIT

Horizontal layout direction of this view is inherited from its parent.

int LAYOUT_DIRECTION_LOCALE

Horizontal layout direction of this view is from deduced from the default language script for the locale.

int LAYOUT_DIRECTION_LTR

Horizontal layout direction of this view is from Left to Right.

int LAYOUT_DIRECTION_RTL

Horizontal layout direction of this view is from Right to Left.

int MEASURED_HEIGHT_STATE_SHIFT

Bit shift of MEASURED_STATE_MASK to get to the height bits for functions that combine both width and height into a single int, such as getMeasuredState() and the childState argument ofresolveSizeAndState(int, int, int).

int MEASURED_SIZE_MASK

Bits of getMeasuredWidthAndState() and getMeasuredWidthAndState() that provide the actual measured size.

int MEASURED_STATE_MASK

Bits of getMeasuredWidthAndState() and getMeasuredWidthAndState() that provide the additional state bits.

int MEASURED_STATE_TOO_SMALL

Bit of getMeasuredWidthAndState() and getMeasuredWidthAndState() that indicates the measured size is smaller that the space the view would like to have.

int NOT_FOCUSABLE

This view does not want keystrokes.

int NO_ID

Used to mark a View that has no ID.

int OVER_SCROLL_ALWAYS

Always allow a user to over-scroll this view, provided it is a view that can scroll.

int OVER_SCROLL_IF_CONTENT_SCROLLS

Allow a user to over-scroll this view only if the content is large enough to meaningfully scroll, provided it is a view that can scroll.

int OVER_SCROLL_NEVER

Never allow a user to over-scroll this view.

int SCREEN_STATE_OFF

Indicates that the screen has changed state and is now off.

int SCREEN_STATE_ON

Indicates that the screen has changed state and is now on.

int SCROLLBARS_INSIDE_INSET

The scrollbar style to display the scrollbars inside the padded area, increasing the padding of the view.

int SCROLLBARS_INSIDE_OVERLAY

The scrollbar style to display the scrollbars inside the content area, without increasing the padding.

int SCROLLBARS_OUTSIDE_INSET

The scrollbar style to display the scrollbars at the edge of the view, increasing the padding of the view.

int SCROLLBARS_OUTSIDE_OVERLAY

The scrollbar style to display the scrollbars at the edge of the view, without increasing the padding.

int SCROLLBAR_POSITION_DEFAULT

Position the scroll bar at the default position as determined by the system.

int SCROLLBAR_POSITION_LEFT

Position the scroll bar along the left edge.

int SCROLLBAR_POSITION_RIGHT

Position the scroll bar along the right edge.

int SCROLL_AXIS_HORIZONTAL

Indicates scrolling along the horizontal axis.

int SCROLL_AXIS_NONE

Indicates no axis of view scrolling.

int SCROLL_AXIS_VERTICAL

Indicates scrolling along the vertical axis.

int SCROLL_INDICATOR_BOTTOM

Scroll indicator direction for the bottom edge of the view.

int SCROLL_INDICATOR_END

Scroll indicator direction for the ending edge of the view.

int SCROLL_INDICATOR_LEFT

Scroll indicator direction for the left edge of the view.

int SCROLL_INDICATOR_RIGHT

Scroll indicator direction for the right edge of the view.

int SCROLL_INDICATOR_START

Scroll indicator direction for the starting edge of the view.

int SCROLL_INDICATOR_TOP

Scroll indicator direction for the top edge of the view.

int SOUND_EFFECTS_ENABLED

View flag indicating whether this view should have sound effects enabled for events such as clicking and touching.

int STATUS_BAR_HIDDEN

This constant was deprecated in API level 14. Use SYSTEM_UI_FLAG_LOW_PROFILE instead.

int STATUS_BAR_VISIBLE

This constant was deprecated in API level 14. Use SYSTEM_UI_FLAG_VISIBLE instead.

int SYSTEM_UI_FLAG_FULLSCREEN

Flag for setSystemUiVisibility(int): View has requested to go into the normal fullscreen mode so that its content can take over the screen while still allowing the user to interact with the application.

int SYSTEM_UI_FLAG_HIDE_NAVIGATION

Flag for setSystemUiVisibility(int): View has requested that the system navigation be temporarily hidden.

int SYSTEM_UI_FLAG_IMMERSIVE

Flag for setSystemUiVisibility(int): View would like to remain interactive when hiding the navigation bar with SYSTEM_UI_FLAG_HIDE_NAVIGATION.

int SYSTEM_UI_FLAG_IMMERSIVE_STICKY

Flag for setSystemUiVisibility(int): View would like to remain interactive when hiding the status bar with SYSTEM_UI_FLAG_FULLSCREEN and/or hiding the navigation bar with SYSTEM_UI_FLAG_HIDE_NAVIGATION.

int SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN

Flag for setSystemUiVisibility(int): View would like its window to be laid out as if it has requested SYSTEM_UI_FLAG_FULLSCREEN, even if it currently hasn't.

int SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION

Flag for setSystemUiVisibility(int): View would like its window to be laid out as if it has requested SYSTEM_UI_FLAG_HIDE_NAVIGATION, even if it currently hasn't.

int SYSTEM_UI_FLAG_LAYOUT_STABLE

Flag for setSystemUiVisibility(int): When using other layout flags, we would like a stable view of the content insets given to fitSystemWindows(Rect).

int SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR

Flag for setSystemUiVisibility(int): Requests the navigation bar to draw in a mode that is compatible with light navigation bar backgrounds.

int SYSTEM_UI_FLAG_LIGHT_STATUS_BAR

Flag for setSystemUiVisibility(int): Requests the status bar to draw in a mode that is compatible with light status bar backgrounds.

int SYSTEM_UI_FLAG_LOW_PROFILE

Flag for setSystemUiVisibility(int): View has requested the system UI to enter an unobtrusive "low profile" mode.

int SYSTEM_UI_FLAG_VISIBLE

Special constant for setSystemUiVisibility(int): View has requested the system UI (status bar) to be visible (the default).

int SYSTEM_UI_LAYOUT_FLAGS

Flags that can impact the layout in relation to system UI.

int TEXT_ALIGNMENT_CENTER

Center the paragraph, e.g.

int TEXT_ALIGNMENT_GRAVITY

Default for the root view.

int TEXT_ALIGNMENT_INHERIT

Default text alignment.

int TEXT_ALIGNMENT_TEXT_END

Align to the end of the paragraph, e.g.

int TEXT_ALIGNMENT_TEXT_START

Align to the start of the paragraph, e.g.

int TEXT_ALIGNMENT_VIEW_END

Align to the end of the view, which is ALIGN_RIGHT if the view’s resolved layoutDirection is LTR, and ALIGN_LEFT otherwise.

int TEXT_ALIGNMENT_VIEW_START

Align to the start of the view, which is ALIGN_LEFT if the view’s resolved layoutDirection is LTR, and ALIGN_RIGHT otherwise.

int TEXT_DIRECTION_ANY_RTL

Text direction is using "any-RTL" algorithm.

int TEXT_DIRECTION_FIRST_STRONG

Text direction is using "first strong algorithm".

int TEXT_DIRECTION_FIRST_STRONG_LTR

Text direction is using "first strong algorithm".

int TEXT_DIRECTION_FIRST_STRONG_RTL

Text direction is using "first strong algorithm".

int TEXT_DIRECTION_INHERIT

Text direction is inherited through ViewGroup

int TEXT_DIRECTION_LOCALE

Text direction is coming from the system Locale.

int TEXT_DIRECTION_LTR

Text direction is forced to LTR.

int TEXT_DIRECTION_RTL

Text direction is forced to RTL.

String VIEW_LOG_TAG

The logging tag used by this class with android.util.Log.

int VISIBLE

This view is visible.

Fields

public static finalProperty<ViewFloat> ALPHA

A Property wrapper around the alpha functionality handled by the setAlpha(float) and getAlpha() methods.

protected static final int[] EMPTY_STATE_SET

Indicates the view has no states set.

protected static final int[] ENABLED_FOCUSED_SELECTED_STATE_SET

Indicates the view is enabled, focused and selected.

protected static final int[] ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET

Indicates the view is enabled, focused, selected and its window has the focus.

protected static final int[] ENABLED_FOCUSED_STATE_SET

Indicates the view is enabled and has the focus.

protected static final int[] ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET

Indicates the view is enabled, focused and its window has the focus.

protected static final int[] ENABLED_SELECTED_STATE_SET

Indicates the view is enabled and selected.

protected static final int[] ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET

Indicates the view is enabled, selected and its window has the focus.

protected static final int[] ENABLED_STATE_SET

Indicates the view is enabled.

protected static final int[] ENABLED_WINDOW_FOCUSED_STATE_SET

Indicates the view is enabled and that its window has focus.

protected static final int[] FOCUSED_SELECTED_STATE_SET

Indicates the view is focused and selected.

protected static final int[] FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET

Indicates the view is focused, selected and its window has the focus.

protected static final int[] FOCUSED_STATE_SET

Indicates the view is focused.

protected static final int[] FOCUSED_WINDOW_FOCUSED_STATE_SET

Indicates the view has the focus and that its window has the focus.

protected static final int[] PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET

Indicates the view is pressed, enabled, focused and selected.

protected static final int[] PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET

Indicates the view is pressed, enabled, focused, selected and its window has the focus.

protected static final int[] PRESSED_ENABLED_FOCUSED_STATE_SET

Indicates the view is pressed, enabled and focused.

protected static final int[] PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET

Indicates the view is pressed, enabled, focused and its window has the focus.

protected static final int[] PRESSED_ENABLED_SELECTED_STATE_SET

Indicates the view is pressed, enabled and selected.

protected static final int[] PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET

Indicates the view is pressed, enabled, selected and its window has the focus.

protected static final int[] PRESSED_ENABLED_STATE_SET

Indicates the view is pressed and enabled.

protected static final int[] PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET

Indicates the view is pressed, enabled and its window has the focus.

protected static final int[] PRESSED_FOCUSED_SELECTED_STATE_SET

Indicates the view is pressed, focused and selected.

protected static final int[] PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET

Indicates the view is pressed, focused, selected and its window has the focus.

protected static final int[] PRESSED_FOCUSED_STATE_SET

Indicates the view is pressed and focused.

protected static final int[] PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET

Indicates the view is pressed, focused and its window has the focus.

protected static final int[] PRESSED_SELECTED_STATE_SET

Indicates the view is pressed and selected.

protected static final int[] PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET

Indicates the view is pressed, selected and its window has the focus.

protected static final int[] PRESSED_STATE_SET

Indicates the view is pressed.

protected static final int[] PRESSED_WINDOW_FOCUSED_STATE_SET

Indicates the view is pressed and its window has the focus.

public static finalProperty<ViewFloat> ROTATION

A Property wrapper around the rotation functionality handled by the setRotation(float) and getRotation() methods.

public static finalProperty<ViewFloat> ROTATION_X

A Property wrapper around the rotationX functionality handled by the setRotationX(float)and getRotationX() methods.

public static finalProperty<ViewFloat> ROTATION_Y

A Property wrapper around the rotationY functionality handled by the setRotationY(float)and getRotationY() methods.

public static finalProperty<ViewFloat> SCALE_X

A Property wrapper around the scaleX functionality handled by the setScaleX(float) and getScaleX() methods.

public static finalProperty<ViewFloat> SCALE_Y

A Property wrapper around the scaleY functionality handled by the setScaleY(float) and getScaleY() methods.

protected static final int[] SELECTED_STATE_SET

Indicates the view is selected.

protected static final int[] SELECTED_WINDOW_FOCUSED_STATE_SET

Indicates the view is selected and that its window has the focus.

public static finalProperty<ViewFloat> TRANSLATION_X

A Property wrapper around the translationX functionality handled by thesetTranslationX(float) and getTranslationX() methods.

public static finalProperty<ViewFloat> TRANSLATION_Y

A Property wrapper around the translationY functionality handled by thesetTranslationY(float) and getTranslationY() methods.

public static finalProperty<ViewFloat> TRANSLATION_Z

A Property wrapper around the translationZ functionality handled by thesetTranslationZ(float) and getTranslationZ() methods.

protected static final int[] WINDOW_FOCUSED_STATE_SET

Indicates the view's window has focus.

public static finalProperty<ViewFloat> X

A Property wrapper around the x functionality handled by the setX(float) and getX() methods.

public static finalProperty<ViewFloat> Y

A Property wrapper around the y functionality handled by the setY(float) and getY() methods.

public static finalProperty<ViewFloat> Z

A Property wrapper around the z functionality handled by the setZ(float) and getZ() methods.

Public constructors

View(Context context)

Simple constructor to use when creating a view from code.

View(Context context, AttributeSet attrs)

Constructor that is called when inflating a view from XML.

View(Context context, AttributeSet attrs, int defStyleAttr)

Perform inflation from XML and apply a class-specific base style from a theme attribute.

View(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)

Perform inflation from XML and apply a class-specific base style from a theme attribute or style resource.

Public methods

void addChildrenForAccessibility(ArrayList<View> outChildren)

Adds the children of this View relevant for accessibility to the given list as output.

void addExtraDataToAccessibilityNodeInfo(AccessibilityNodeInfo info, StringextraDataKey, Bundle arguments)

Adds extra data to an AccessibilityNodeInfo based on an explicit request for the additional data.

void addFocusables(ArrayList<View> views, int direction)

Add any focusable views that are descendants of this view (possibly including this view if it is focusable itself) to views.

void addFocusables(ArrayList<View> views, int direction, int focusableMode)

Adds any focusable views that are descendants of this view (possibly including this view if it is focusable itself) to views.

void addKeyboardNavigationClusters(Collection<View> views, int direction)

Adds any keyboard navigation cluster roots that are descendants of this view (possibly including this view if it is a cluster root itself) to views.

void addOnAttachStateChangeListener(View.OnAttachStateChangeListener listener)

Add a listener for attach state changes.

void addOnLayoutChangeListener(View.OnLayoutChangeListener listener)

Add a listener that will be called when the bounds of the view change due to layout processing.

void addOnUnhandledKeyEventListener(View.OnUnhandledKeyEventListener listener)

Adds a listener which will receive unhandled KeyEvents.

void addTouchables(ArrayList<View> views)

Add any touchable views that are descendants of this view (possibly including this view if it is touchable itself) to views.

ViewPropertyAnimator animate()

This method returns a ViewPropertyAnimator object, which can be used to animate specific properties on this View.

void announceForAccessibility(CharSequence text)

Convenience method for sending a AccessibilityEvent.TYPE_ANNOUNCEMENTAccessibilityEvent to make an announcement which is related to some sort of a context change for which none of the events representing UI transitions is a good fit.

void autofill(AutofillValue value)

Automatically fills the content of this view with the value.

void autofill(SparseArray<AutofillValue> values)

Automatically fills the content of the virtual children within this view.

void bringToFront()

Change the view's z order in the tree, so it's on top of other sibling views.

void buildDrawingCache(boolean autoScale)

This method was deprecated in API level 28. The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

void buildDrawingCache()

This method was deprecated in API level 28. The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

void buildLayer()

Forces this view's layer to be created and this view to be rendered into its layer.

boolean callOnClick()

Directly call any attached OnClickListener.

boolean canResolveLayoutDirection()

Check if layout direction resolution can be done.

boolean canResolveTextAlignment()

Check if text alignment resolution can be done.

boolean canResolveTextDirection()

Check if text direction resolution can be done.

boolean canScrollHorizontally(int direction)

Check if this view can be scrolled horizontally in a certain direction.

boolean canScrollVertically(int direction)

Check if this view can be scrolled vertically in a certain direction.

final void cancelDragAndDrop()

Cancels an ongoing drag and drop operation.

void cancelLongPress()

Cancels a pending long press.

final void cancelPendingInputEvents()

Cancel any deferred high-level input events that were previously posted to the event queue.

boolean checkInputConnectionProxy(View view)

Called by the InputMethodManager when a view who is not the current input connection target is trying to make a call on the manager.

void clearAnimation()

Cancels any animations for this view.

void clearFocus()

Called when this view wants to give up focus.

static int combineMeasuredStates(int curState, int newState)

Merge two states as returned by getMeasuredState().

void computeScroll()

Called by a parent to request that a child update its values for mScrollX and mScrollY if necessary.

WindowInsets computeSystemWindowInsets(WindowInsets in, Rect outLocalInsets)

Compute insets that should be consumed by this view and the ones that should propagate to those under it.

AccessibilityNodeInfo createAccessibilityNodeInfo()

Returns an AccessibilityNodeInfo representing this view from the point of view of an AccessibilityService.

void createContextMenu(ContextMenu menu)

Show the context menu for this view.

void destroyDrawingCache()

This method was deprecated in API level 28. The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

WindowInsets dispatchApplyWindowInsets(WindowInsets insets)

Request to apply the given window insets to this view or another view in its subtree.

boolean dispatchCapturedPointerEvent(MotionEvent event)

Pass a captured pointer event down to the focused view.

void dispatchConfigurationChanged(Configuration newConfig)

Dispatch a notification about a resource configuration change down the view hierarchy.

void dispatchDisplayHint(int hint)

Dispatch a hint about whether this view is displayed.

boolean dispatchDragEvent(DragEvent event)

Detects if this View is enabled and has a drag event listener.

void dispatchDrawableHotspotChanged(float x, float y)

Dispatches drawableHotspotChanged to all of this View's children.

void dispatchFinishTemporaryDetach()

Dispatch onFinishTemporaryDetach() to this View and its direct children if this is a container View.

boolean dispatchGenericMotionEvent(MotionEvent event)

Dispatch a generic motion event.

boolean dispatchKeyEvent(KeyEvent event)

Dispatch a key event to the next view on the focus path.

boolean dispatchKeyEventPreIme(KeyEvent event)

Dispatch a key event before it is processed by any input method associated with the view hierarchy.

boolean dispatchKeyShortcutEvent(KeyEvent event)

Dispatches a key shortcut event.

boolean dispatchNestedFling(float velocityX, float velocityY, boolean consumed)

Dispatch a fling to a nested scrolling parent.

boolean dispatchNestedPreFling(float velocityX, float velocityY)

Dispatch a fling to a nested scrolling parent before it is processed by this view.

boolean dispatchNestedPrePerformAccessibilityAction(int action, Bundle arguments)

Report an accessibility action to this view's parents for delegated processing.

boolean dispatchNestedPreScroll(int dx, int dy, int[] consumed, int[] offsetInWindow)

Dispatch one step of a nested scroll in progress before this view consumes any portion of it.

boolean dispatchNestedScroll(int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed, int[] offsetInWindow)

Dispatch one step of a nested scroll in progress.

void dispatchPointerCaptureChanged(boolean hasCapture)
boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event)

Dispatches an AccessibilityEvent to the View first and then to its children for adding their text content to the event.

void dispatchProvideAutofillStructure(ViewStructure structure, int flags)

Dispatches creation of a ViewStructures for autofill purposes down the hierarchy, when an Assist structure is being created as part of an autofill request.

void dispatchProvideStructure(ViewStructure structure)

Dispatch creation of ViewStructure down the hierarchy.

void dispatchStartTemporaryDetach()

Dispatch onStartTemporaryDetach() to this View and its direct children if this is a container View.

void dispatchSystemUiVisibilityChanged(int visibility)

Dispatch callbacks to setOnSystemUiVisibilityChangeListener(View.OnSystemUiVisibilityChangeListener) down the view hierarchy.

boolean dispatchTouchEvent(MotionEvent event)

Pass the touch screen motion event down to the target view, or this view if it is the target.

boolean dispatchTrackballEvent(MotionEvent event)

Pass a trackball motion event down to the focused view.

boolean dispatchUnhandledMove(View focused, int direction)

This method is the last chance for the focused view and its ancestors to respond to an arrow key.

void dispatchWindowFocusChanged(boolean hasFocus)

Called when the window containing this view gains or loses window focus.

void dispatchWindowSystemUiVisiblityChanged(int visible)

Dispatch callbacks to onWindowSystemUiVisibilityChanged(int) down the view hierarchy.

void dispatchWindowVisibilityChanged(int visibility)

Dispatch a window visibility change down the view hierarchy.

void draw(Canvas canvas)

Manually render this view (and all of its children) to the given Canvas.

void drawableHotspotChanged(float x, float y)

This function is called whenever the view hotspot changes and needs to be propagated to drawables or child views managed by the view.

View findFocus()

Find the view in the hierarchy rooted at this view that currently has focus.

final <T extends View> T findViewById(int id)

Finds the first descendant view with the given ID, the view itself if the ID matches getId(), or nullif the ID is invalid (< 0) or there is no matching view in the hierarchy.

final <T extends View> T findViewWithTag(Object tag)

Look for a child view with the given tag.

void findViewsWithText(ArrayList<View> outViews, CharSequence searched, int flags)

Finds the Views that contain given text.

View focusSearch(int direction)

Find the nearest view in the specified direction that can take focus.

void forceHasOverlappingRendering(boolean hasOverlappingRendering)

Sets the behavior for overlapping rendering for this view (see hasOverlappingRendering() for more details on this behavior).

void forceLayout()

Forces this view to be laid out during the next layout pass.

static int generateViewId()

Generate a value suitable for use in setId(int).

CharSequence getAccessibilityClassName()

Return the class name of this object to be used for accessibility purposes.

int getAccessibilityLiveRegion()

Gets the live region mode for this View.

AccessibilityNodeProvider getAccessibilityNodeProvider()

Gets the provider for managing a virtual view hierarchy rooted at this View and reported to AccessibilityServices that explore the window content.

CharSequence getAccessibilityPaneTitle()

Get the title of the pane for purposes of accessibility.

int getAccessibilityTraversalAfter()

Gets the id of a view after which this one is visited in accessibility traversal.

int getAccessibilityTraversalBefore()

Gets the id of a view before which this one is visited in accessibility traversal.

float getAlpha()

The opacity of the view.

Animation getAnimation()

Get the animation currently associated with this view.

IBinder getApplicationWindowToken()

Retrieve a unique token identifying the top-level "real" window of the window that this view is attached to.

String[] getAutofillHints()

Gets the hints that help an AutofillService determine how to autofill the view with the user's data.

final AutofillId getAutofillId()

Gets the unique, logical identifier of this view in the activity, for autofill purposes.

int getAutofillType()

Describes the autofill type of this view, so an AutofillService can create the proper AutofillValue when autofilling the view.

AutofillValue getAutofillValue()

Gets the View's current autofill value.

Drawable getBackground()

Gets the background drawable

ColorStateList getBackgroundTintList()

Return the tint applied to the background drawable, if specified.

PorterDuff.Mode getBackgroundTintMode()

Return the blending mode used to apply the tint to the background drawable, if specified.

int getBaseline()

Return the offset of the widget's text baseline from the widget's top boundary.

final int getBottom()

Bottom position of this view relative to its parent.

float getCameraDistance()

Gets the distance along the Z axis from the camera to this view.

boolean getClipBounds(Rect outRect)

Populates an output rectangle with the clip bounds of the view, returning true if successful or false if the view's clip bounds are null.

Rect getClipBounds()

Returns a copy of the current clipBounds.

final boolean getClipToOutline()

Returns whether the Outline should be used to clip the contents of the View.

CharSequence getContentDescription()

Returns the View's content description.

final Context getContext()

Returns the context the view is running in, through which it can access the current theme, resources, etc.

final boolean getDefaultFocusHighlightEnabled()

/** Returns whether this View should use a default focus highlight when it gets focused but doesn't have R.attr.state_focused defined in its background.

static int getDefaultSize(int size, int measureSpec)

Utility to return a default size.

Display getDisplay()

Gets the logical display to which the view's window has been attached.

final int[] getDrawableState()

Return an array of resource IDs of the drawable states representing the current state of the view.

Bitmap getDrawingCache()

This method was deprecated in API level 28. The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

Bitmap getDrawingCache(boolean autoScale)

This method was deprecated in API level 28. The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

int getDrawingCacheBackgroundColor()

This method was deprecated in API level 28. The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

int getDrawingCacheQuality()

This method was deprecated in API level 28. The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

void getDrawingRect(Rect outRect)

Return the visible drawing bounds of your view.

long getDrawingTime()

Return the time at which the drawing of the view hierarchy started.

float getElevation()

The base elevation of this view relative to its parent, in pixels.

boolean getFilterTouchesWhenObscured()

Gets whether the framework should discard touches when the view's window is obscured by another visible window.

boolean getFitsSystemWindows()

Check for state of setFitsSystemWindows(boolean).

int getFocusable()

Returns the focusable setting for this view.

ArrayList<View> getFocusables(int direction)

Find and return all focusable views that are descendants of this view, possibly including this view if it is focusable itself.

void getFocusedRect(Rect r)

When a view has focus and the user navigates away from it, the next view is searched for starting from the rectangle filled in by this method.

Drawable getForeground()

Returns the drawable used as the foreground of this View.

int getForegroundGravity()

Describes how the foreground is positioned.

ColorStateList getForegroundTintList()

Return the tint applied to the foreground drawable, if specified.

PorterDuff.Mode getForegroundTintMode()

Return the blending mode used to apply the tint to the foreground drawable, if specified.

final boolean getGlobalVisibleRect(Rect r)
boolean getGlobalVisibleRect(Rect r, Point globalOffset)

If some part of this view is not clipped by any of its parents, then return that area in r in global (root) coordinates.

Handler getHandler()
final boolean getHasOverlappingRendering()

Returns the value for overlapping rendering that is used internally.

final int getHeight()

Return the height of your view.

void getHitRect(Rect outRect)

Hit rectangle in parent's coordinates

int getHorizontalFadingEdgeLength()

Returns the size of the horizontal faded edges used to indicate that more content in this view is visible.

int getId()

Returns this view's identifier.

int getImportantForAccessibility()

Gets the mode for determining whether this View is important for accessibility.

int getImportantForAutofill()

Gets the mode for determining whether this view is important for autofill.

boolean getKeepScreenOn()

Returns whether the screen should remain on, corresponding to the current value of KEEP_SCREEN_ON.

KeyEvent.DispatcherState getKeyDispatcherState()

Return the global KeyEvent.DispatcherState for this view's window.

int getLabelFor()

Gets the id of a view for which this view serves as a label for accessibility purposes.

int getLayerType()

Indicates what type of layer is currently associated with this view.

int getLayoutDirection()

Returns the resolved layout direction for this view.

ViewGroup.LayoutParams getLayoutParams()

Get the LayoutParams associated with this view.

final int getLeft()

Left position of this view relative to its parent.

final boolean getLocalVisibleRect(Rect r)
void getLocationInWindow(int[] outLocation)

Computes the coordinates of this view in its window.

void getLocationOnScreen(int[] outLocation)

Computes the coordinates of this view on the screen.

Matrix getMatrix()

The transform matrix of this view, which is calculated based on the current rotation, scale, and pivot properties.

final int getMeasuredHeight()

Like getMeasuredHeightAndState(), but only returns the raw height component (that is the result is masked by MEASURED_SIZE_MASK).

final int getMeasuredHeightAndState()

Return the full height measurement information for this view as computed by the most recent call to measure(int, int).

final int getMeasuredState()

Return only the state bits of getMeasuredWidthAndState() and getMeasuredHeightAndState(), combined into one integer.

final int getMeasuredWidth()

Like getMeasuredWidthAndState(), but only returns the raw width component (that is the result is masked by MEASURED_SIZE_MASK).

final int getMeasuredWidthAndState()

Return the full width measurement information for this view as computed by the most recent call to measure(int, int).

int getMinimumHeight()

Returns the minimum height of the view.

int getMinimumWidth()

Returns the minimum width of the view.

int getNextClusterForwardId()

Gets the id of the root of the next keyboard navigation cluster.

int getNextFocusDownId()

Gets the id of the view to use when the next focus is FOCUS_DOWN.

int getNextFocusForwardId()

Gets the id of the view to use when the next focus is FOCUS_FORWARD.

int getNextFocusLeftId()

Gets the id of the view to use when the next focus is FOCUS_LEFT.

int getNextFocusRightId()

Gets the id of the view to use when the next focus is FOCUS_RIGHT.

int getNextFocusUpId()

Gets the id of the view to use when the next focus is FOCUS_UP.

View.OnFocusChangeListener getOnFocusChangeListener()

Returns the focus-change callback registered for this view.

int getOutlineAmbientShadowColor()
ViewOutlineProvider getOutlineProvider()

Returns the current ViewOutlineProvider of the view, which generates the Outline that defines the shape of the shadow it casts, and enables outline clipping.

int getOutlineSpotShadowColor()
int getOverScrollMode()

Returns the over-scroll mode for this view.

ViewOverlay getOverlay()

Returns the overlay for this view, creating it if it does not yet exist.

int getPaddingBottom()

Returns the bottom padding of this view.

int getPaddingEnd()

Returns the end padding of this view depending on its resolved layout direction.

int getPaddingLeft()

Returns the left padding of this view.

int getPaddingRight()

Returns the right padding of this view.

int getPaddingStart()

Returns the start padding of this view depending on its resolved layout direction.

int getPaddingTop()

Returns the top padding of this view.

final ViewParent getParent()

Gets the parent of this view.

ViewParent getParentForAccessibility()

Gets the parent for accessibility purposes.

float getPivotX()

The x location of the point around which the view is rotated and scaled.

float getPivotY()

The y location of the point around which the view is rotated and scaled.

PointerIcon getPointerIcon()

Gets the pointer icon for the current view.

Resources getResources()

Returns the resources associated with this view.

final boolean getRevealOnFocusHint()

Returns this view's preference for reveal behavior when it gains focus.

final int getRight()

Right position of this view relative to its parent.

View getRootView()

Finds the topmost view in the current view hierarchy.

WindowInsets getRootWindowInsets()

Provide original WindowInsets that are dispatched to the view hierarchy.

float getRotation()

The degrees that the view is rotated around the pivot point.

float getRotationX()

The degrees that the view is rotated around the horizontal axis through the pivot point.

float getRotationY()

The degrees that the view is rotated around the vertical axis through the pivot point.

float getScaleX()

The amount that the view is scaled in x around the pivot point, as a proportion of the view's unscaled width.

float getScaleY()

The amount that the view is scaled in y around the pivot point, as a proportion of the view's unscaled height.

int getScrollBarDefaultDelayBeforeFade()

Returns the delay before scrollbars fade.

int getScrollBarFadeDuration()

Returns the scrollbar fade duration.

int getScrollBarSize()

Returns the scrollbar size.

int getScrollBarStyle()

Returns the current scrollbar style.

int getScrollIndicators()

Returns a bitmask representing the enabled scroll indicators.

final int getScrollX()

Return the scrolled left position of this view.

final int getScrollY()

Return the scrolled top position of this view.

int getSolidColor()

Override this if your view is known to always be drawn on top of a solid color background, and needs to draw fading edges.

StateListAnimator getStateListAnimator()

Returns the current StateListAnimator if exists.

int getSystemUiVisibility()

Returns the last setSystemUiVisibility(int) that this view has requested.

Object getTag()

Returns this view's tag.

Object getTag(int key)

Returns the tag associated with this view and the specified key.

int getTextAlignment()

Return the resolved text alignment.

int getTextDirection()

Return the resolved text direction.

CharSequence getTooltipText()

Returns the view's tooltip text.

final int getTop()

Top position of this view relative to its parent.

TouchDelegate getTouchDelegate()

Gets the TouchDelegate for this View.

ArrayList<View> getTouchables()

Find and return all touchable views that are descendants of this view, possibly including this view if it is touchable itself.

String getTransitionName()

Returns the name of the View to be used to identify Views in Transitions.

float getTranslationX()

The horizontal location of this view relative to its left position.

float getTranslationY()

The vertical location of this view relative to its top position.

float getTranslationZ()

The depth location of this view relative to its elevation.

int getVerticalFadingEdgeLength()

Returns the size of the vertical faded edges used to indicate that more content in this view is visible.

int getVerticalScrollbarPosition()
int getVerticalScrollbarWidth()

Returns the width of the vertical scrollbar.

ViewTreeObserver getViewTreeObserver()

Returns the ViewTreeObserver for this view's hierarchy.

int getVisibility()

Returns the visibility status for this view.

final int getWidth()

Return the width of your view.

WindowId getWindowId()

Retrieve the WindowId for the window this view is currently attached to.

int getWindowSystemUiVisibility()

Returns the current system UI visibility that is currently set for the entire window.

IBinder getWindowToken()

Retrieve a unique token identifying the window this view is attached to.

int getWindowVisibility()

Returns the current visibility of the window this view is attached to (either GONEINVISIBLE, or VISIBLE).

void getWindowVisibleDisplayFrame(Rect outRect)

Retrieve the overall visible display size in which the window this view is attached to has been positioned in.

float getX()

The visual x position of this view, in pixels.

float getY()

The visual y position of this view, in pixels.

float getZ()

The visual z position of this view, in pixels.

boolean hasExplicitFocusable()

Returns true if this view is focusable or if it contains a reachable View for which hasExplicitFocusable() returns true.

boolean hasFocus()

Returns true if this view has focus itself, or is the ancestor of the view that has focus.

boolean hasFocusable()

Returns true if this view is focusable or if it contains a reachable View for which hasFocusable()returns true.

boolean hasNestedScrollingParent()

Returns true if this view has a nested scrolling parent.

boolean hasOnClickListeners()

Return whether this view has an attached OnClickListener.

boolean hasOverlappingRendering()

Returns whether this View has content which overlaps.

boolean hasPointerCapture()

Checks pointer capture status.

boolean hasTransientState()

Indicates whether the view is currently tracking transient state that the app should not need to concern itself with saving and restoring, but that the framework should take special note to preserve when possible.

boolean hasWindowFocus()

Returns true if this view is in a window that currently has window focus.

static View inflate(Context context, int resource, ViewGroup root)

Inflate a view from an XML resource.

void invalidate()

Invalidate the whole view.

void invalidate(Rect dirty)

This method was deprecated in API level 28. The switch to hardware accelerated rendering in API 14 reduced the importance of the dirty rectangle. In API 21 the given rectangle is ignored entirely in favor of an internally-calculated area instead. Because of this, clients are encouraged to just call invalidate().

void invalidate(int l, int t, int r, int b)

This method was deprecated in API level 28. The switch to hardware accelerated rendering in API 14 reduced the importance of the dirty rectangle. In API 21 the given rectangle is ignored entirely in favor of an internally-calculated area instead. Because of this, clients are encouraged to just call invalidate().

void invalidateDrawable(Drawable drawable)

Invalidates the specified Drawable.

void invalidateOutline()

Called to rebuild this View's Outline from its outline provider

boolean isAccessibilityFocused()

Returns whether this View is accessibility focused.

boolean isAccessibilityHeading()

Gets whether this view is a heading for accessibility purposes.

boolean isActivated()

Indicates the activation state of this view.

boolean isAttachedToWindow()

Returns true if this view is currently attached to a window.

boolean isClickable()

Indicates whether this view reacts to click events or not.

boolean isContextClickable()

Indicates whether this view reacts to context clicks or not.

boolean isDirty()

True if this view has changed since the last time being drawn.

boolean isDrawingCacheEnabled()

This method was deprecated in API level 28. The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

boolean isDuplicateParentStateEnabled()

Indicates whether this duplicates its drawable state from its parent.

boolean isEnabled()

Returns the enabled status for this view.

final boolean isFocusable()

Returns whether this View is currently able to take focus.

final boolean isFocusableInTouchMode()

When a view is focusable, it may not want to take focus when in touch mode.

boolean isFocused()

Returns true if this view has focus

final boolean isFocusedByDefault()

Returns whether this View should receive focus when the focus is restored for the view hierarchy containing this view.

boolean isHapticFeedbackEnabled()
boolean isHardwareAccelerated()

Indicates whether this view is attached to a hardware accelerated window or not.

boolean isHorizontalFadingEdgeEnabled()

Indicate whether the horizontal edges are faded when the view is scrolled horizontally.

boolean isHorizontalScrollBarEnabled()

Indicate whether the horizontal scrollbar should be drawn or not.

boolean isHovered()

Returns true if the view is currently hovered.

boolean isImportantForAccessibility()

Computes whether this view should be exposed for accessibility.

final boolean isImportantForAutofill()

Hints the Android System whether the AssistStructure.ViewNode associated with this view is considered important for autofill purposes.

boolean isInEditMode()

Indicates whether this View is currently in edit mode.

boolean isInLayout()

Returns whether the view hierarchy is currently undergoing a layout pass.

boolean isInTouchMode()

Returns whether the device is currently in touch mode.

final boolean isKeyboardNavigationCluster()

Returns whether this View is a root of a keyboard navigation cluster.

boolean isLaidOut()

Returns true if this view has been through at least one layout since it was last attached to or detached from a window.

boolean isLayoutDirectionResolved()
boolean isLayoutRequested()

Indicates whether or not this view's layout will be requested during the next hierarchy layout pass.

boolean isLongClickable()

Indicates whether this view reacts to long click events or not.

boolean isNestedScrollingEnabled()

Returns true if nested scrolling is enabled for this view.

boolean isOpaque()

Indicates whether this View is opaque.

boolean isPaddingRelative()

Return if the padding has been set through relative values setPaddingRelative(int, int, int, int) or through

boolean isPivotSet()

Returns whether or not a pivot has been set by a call to setPivotX(float) orsetPivotY(float).

boolean isPressed()

Indicates whether the view is currently in pressed state.

boolean isSaveEnabled()

Indicates whether this view will save its state (that is, whether its onSaveInstanceState()method will be called).

boolean isSaveFromParentEnabled()

Indicates whether the entire hierarchy under this view will save its state when a state saving traversal occurs from its parent.

boolean isScreenReaderFocusable()

Returns whether the view should be treated as a focusable unit by screen reader accessibility tools.

boolean isScrollContainer()

Indicates whether this view is one of the set of scrollable containers in its window.

boolean isScrollbarFadingEnabled()

Returns true if scrollbars will fade when this view is not scrolling

boolean isSelected()

Indicates the selection state of this view.

boolean isShown()

Returns the visibility of this view and all of its ancestors

boolean isSoundEffectsEnabled()
final boolean isTemporarilyDetached()

Tells whether the View is in the state between onStartTemporaryDetach() and onFinishTemporaryDetach().

boolean isTextAlignmentResolved()
boolean isTextDirectionResolved()
boolean isVerticalFadingEdgeEnabled()

Indicate whether the vertical edges are faded when the view is scrolled horizontally.

boolean isVerticalScrollBarEnabled()

Indicate whether the vertical scrollbar should be drawn or not.

boolean isVisibleToUserForAutofill(int virtualId)

Computes whether this virtual autofill view is visible to the user.

void jumpDrawablesToCurrentState()

Call Drawable.jumpToCurrentState() on all Drawable objects associated with this view.

View keyboardNavigationClusterSearch(View currentCluster, int direction)

Find the nearest keyboard navigation cluster in the specified direction.

void layout(int l, int t, int r, int b)

Assign a size and position to a view and all of its descendants

This is the second phase of the layout mechanism.

final void measure(int widthMeasureSpec, int heightMeasureSpec)

This is called to find out how big a view should be.

void offsetLeftAndRight(int offset)

Offset this view's horizontal location by the specified amount of pixels.

void offsetTopAndBottom(int offset)

Offset this view's vertical location by the specified number of pixels.

WindowInsets onApplyWindowInsets(WindowInsets insets)

Called when the view should apply WindowInsets according to its internal policy.

void onCancelPendingInputEvents()

Called as the result of a call to cancelPendingInputEvents() on this view or a parent view.

boolean onCapturedPointerEvent(MotionEvent event)

Implement this method to handle captured pointer events

boolean onCheckIsTextEditor()

Check whether the called view is a text editor, in which case it would make sense to automatically display a soft input window for it.

InputConnection onCreateInputConnection(EditorInfo outAttrs)

Create a new InputConnection for an InputMethod to interact with the view.

boolean onDragEvent(DragEvent event)

Handles drag events sent by the system following a call to startDragAndDrop().

void onDrawForeground(Canvas canvas)

Draw any foreground content for this view.

boolean onFilterTouchEventForSecurity(MotionEvent event)

Filter the touch event to apply security policies.

void onFinishTemporaryDetach()

Called after onStartTemporaryDetach() when the container is done changing the view.

boolean onGenericMotionEvent(MotionEvent event)

Implement this method to handle generic motion events.

void onHoverChanged(boolean hovered)

Implement this method to handle hover state changes.

boolean onHoverEvent(MotionEvent event)

Implement this method to handle hover events.

void onInitializeAccessibilityEvent(AccessibilityEvent event)

Initializes an AccessibilityEvent with information about this View which is the event source.

void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info)

Initializes an AccessibilityNodeInfo with information about this view.

boolean onKeyDown(int keyCode, KeyEvent event)

Default implementation of KeyEvent.Callback.onKeyDown(): perform press of the view when KeyEvent.KEYCODE_DPAD_CENTER or KeyEvent.KEYCODE_ENTER is released, if the view is enabled and clickable.

boolean onKeyLongPress(int keyCode, KeyEvent event)

Default implementation of KeyEvent.Callback.onKeyLongPress(): always returns false (doesn't handle the event).

boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event)

Default implementation of KeyEvent.Callback.onKeyMultiple(): always returns false (doesn't handle the event).

boolean onKeyPreIme(int keyCode, KeyEvent event)

Handle a key event before it is processed by any input method associated with the view hierarchy.

boolean onKeyShortcut(int keyCode, KeyEvent event)

Called on the focused view when a key shortcut event is not handled.

boolean onKeyUp(int keyCode, KeyEvent event)

Default implementation of KeyEvent.Callback.onKeyUp(): perform clicking of the view when KeyEvent.KEYCODE_DPAD_CENTERKeyEvent.KEYCODE_ENTER or KeyEvent.KEYCODE_SPACE is released.

void onPointerCaptureChange(boolean hasCapture)

Called when the window has just acquired or lost pointer capture.

void onPopulateAccessibilityEvent(AccessibilityEvent event)

Called from dispatchPopulateAccessibilityEvent(AccessibilityEvent) giving a chance to this View to populate the accessibility event with its text content.

void onProvideAutofillStructure(ViewStructure structure, int flags)

Populates a ViewStructure to fullfil an autofill request.

void onProvideAutofillVirtualStructure(ViewStructure structure, int flags)

Populates a ViewStructure containing virtual children to fullfil an autofill request.

void onProvideStructure(ViewStructure structure)

Called when assist structure is being retrieved from a view as part ofActivity.onProvideAssistData.

void onProvideVirtualStructure(ViewStructure structure)

Called when assist structure is being retrieved from a view as part ofActivity.onProvideAssistData to generate additional virtual structure under this view.

PointerIcon onResolvePointerIcon(MotionEvent event, int pointerIndex)

Returns the pointer icon for the motion event, or null if it doesn't specify the icon.

void onRtlPropertiesChanged(int layoutDirection)

Called when any RTL property (layout direction or text direction or text alignment) has been changed.

void onScreenStateChanged(int screenState)

This method is called whenever the state of the screen this view is attached to changes.

void onStartTemporaryDetach()

This is called when a container is going to temporarily detach a child, withViewGroup.detachViewFromParent.

boolean onTouchEvent(MotionEvent event)

Implement this method to handle touch screen motion events.

boolean onTrackballEvent(MotionEvent event)

Implement this method to handle trackball motion events.

void onVisibilityAggregated(boolean isVisible)

Called when the user-visibility of this View is potentially affected by a change to this view itself, an ancestor view or the window this view is attached to.

void onWindowFocusChanged(boolean hasWindowFocus)

Called when the window containing this view gains or loses focus.

void onWindowSystemUiVisibilityChanged(int visible)

Override to find out when the window's requested system UI visibility has changed, that is the value returned by getWindowSystemUiVisibility().

boolean performAccessibilityAction(int action, Bundle arguments)

Performs the specified accessibility action on the view.

boolean performClick()

Call this view's OnClickListener, if it is defined.

boolean performContextClick(float x, float y)

Call this view's OnContextClickListener, if it is defined.

boolean performContextClick()

Call this view's OnContextClickListener, if it is defined.

boolean performHapticFeedback(int feedbackConstant)

BZZZTT!!1!

Provide haptic feedback to the user for this view.

boolean performHapticFeedback(int feedbackConstant, int flags)

BZZZTT!!1!

Like performHapticFeedback(int), with additional options.

boolean performLongClick(float x, float y)

Calls this view's OnLongClickListener, if it is defined.

boolean performLongClick()

Calls this view's OnLongClickListener, if it is defined.

void playSoundEffect(int soundConstant)

Play a sound effect for this view.

boolean post(Runnable action)

Causes the Runnable to be added to the message queue.

boolean postDelayed(Runnable action, long delayMillis)

Causes the Runnable to be added to the message queue, to be run after the specified amount of time elapses.

void postInvalidate()

Cause an invalidate to happen on a subsequent cycle through the event loop.

void postInvalidate(int left, int top, int right, int bottom)

Cause an invalidate of the specified area to happen on a subsequent cycle through the event loop.

void postInvalidateDelayed(long delayMilliseconds, int left, int top, int right, int bottom)

Cause an invalidate of the specified area to happen on a subsequent cycle through the event loop.

void postInvalidateDelayed(long delayMilliseconds)

Cause an invalidate to happen on a subsequent cycle through the event loop.

void postInvalidateOnAnimation(int left, int top, int right, int bottom)

Cause an invalidate of the specified area to happen on the next animation time step, typically the next display frame.

void postInvalidateOnAnimation()

Cause an invalidate to happen on the next animation time step, typically the next display frame.

void postOnAnimation(Runnable action)

Causes the Runnable to execute on the next animation time step.

void postOnAnimationDelayed(Runnable action, long delayMillis)

Causes the Runnable to execute on the next animation time step, after the specified amount of time elapses.

void refreshDrawableState()

Call this to force a view to update its drawable state.

void releasePointerCapture()

Releases the pointer capture.

boolean removeCallbacks(Runnable action)

Removes the specified Runnable from the message queue.

void removeOnAttachStateChangeListener(View.OnAttachStateChangeListenerlistener)

Remove a listener for attach state changes.

void removeOnLayoutChangeListener(View.OnLayoutChangeListener listener)

Remove a listener for layout changes.

void removeOnUnhandledKeyEventListener(View.OnUnhandledKeyEventListenerlistener)

Removes a listener which will receive unhandled KeyEvents.

void requestApplyInsets()

Ask that a new dispatch of onApplyWindowInsets(WindowInsets) be performed.

void requestFitSystemWindows()

This method was deprecated in API level 20. Use requestApplyInsets() for newer platform versions.

final boolean requestFocus(int direction)

Call this to try to give focus to a specific view or to one of its descendants and give it a hint about what direction focus is heading.

final boolean requestFocus()

Call this to try to give focus to a specific view or to one of its descendants.

boolean requestFocus(int direction, Rect previouslyFocusedRect)

Call this to try to give focus to a specific view or to one of its descendants and give it hints about the direction and a specific rectangle that the focus is coming from.

final boolean requestFocusFromTouch()

Call this to try to give focus to a specific view or to one of its descendants.

void requestLayout()

Call this when something has changed which has invalidated the layout of this view.

void requestPointerCapture()

Requests pointer capture mode.

boolean requestRectangleOnScreen(Rect rectangle)

Request that a rectangle of this view be visible on the screen, scrolling if necessary just enough.

boolean requestRectangleOnScreen(Rect rectangle, boolean immediate)

Request that a rectangle of this view be visible on the screen, scrolling if necessary just enough.

final void requestUnbufferedDispatch(MotionEvent event)

Request unbuffered dispatch of the given stream of MotionEvents to this View.

final <T extends View> T requireViewById(int id)

Finds the first descendant view with the given ID, the view itself if the ID matches getId(), or throws an IllegalArgumentException if the ID is invalid or there is no matching view in the hierarchy.

void resetPivot()

Clears any pivot previously set by a call to setPivotX(float) or setPivotY(float).

static int resolveSize(int size, int measureSpec)

Version of resolveSizeAndState(int, int, int) returning only the MEASURED_SIZE_MASKbits of the result.

static int resolveSizeAndState(int size, int measureSpec, int childMeasuredState)

Utility to reconcile a desired size and state, with constraints imposed by a MeasureSpec.

boolean restoreDefaultFocus()

Gives focus to the default-focus view in the view hierarchy that has this view as a root.

void restoreHierarchyState(SparseArray<Parcelable> container)

Restore this view hierarchy's frozen state from the given container.

void saveHierarchyState(SparseArray<Parcelable> container)

Store this view hierarchy's frozen state into the given container.

void scheduleDrawable(Drawable who, Runnable what, long when)

Schedules an action on a drawable to occur at a specified time.

void scrollBy(int x, int y)

Move the scrolled position of your view.

void scrollTo(int x, int y)

Set the scrolled position of your view.

void sendAccessibilityEvent(int eventType)

Sends an accessibility event of the given type.

void sendAccessibilityEventUnchecked(AccessibilityEvent event)

This method behaves exactly as sendAccessibilityEvent(int) but takes as an argument an empty AccessibilityEvent and does not perform a check whether accessibility is enabled.

void setAccessibilityDelegate(View.AccessibilityDelegate delegate)

Sets a delegate for implementing accessibility support via composition (as opposed to inheritance).

void setAccessibilityHeading(boolean isHeading)

Set if view is a heading for a section of content for accessibility purposes.

void setAccessibilityLiveRegion(int mode)

Sets the live region mode for this view.

void setAccessibilityPaneTitle(CharSequence accessibilityPaneTitle)

Visually distinct portion of a window with window-like semantics are considered panes for accessibility purposes.

void setAccessibilityTraversalAfter(int afterId)

Sets the id of a view after which this one is visited in accessibility traversal.

void setAccessibilityTraversalBefore(int beforeId)

Sets the id of a view before which this one is visited in accessibility traversal.

void setActivated(boolean activated)

Changes the activated state of this view.

void setAlpha(float alpha)

Sets the opacity of the view to a value from 0 to 1, where 0 means the view is completely transparent and 1 means the view is completely opaque.

void setAnimation(Animation animation)

Sets the next animation to play for this view.

void setAutofillHints(String... autofillHints)

Sets the hints that help an AutofillService determine how to autofill the view with the user's data.

void setAutofillId(AutofillId id)

Sets the unique, logical identifier of this view in the activity, for autofill purposes.

void setBackground(Drawable background)

Set the background to a given Drawable, or remove the background.

void setBackgroundColor(int color)

Sets the background color for this view.

void setBackgroundDrawable(Drawable background)

This method was deprecated in API level 16. use setBackground(Drawable) instead

void setBackgroundResource(int resid)

Set the background to a given resource.

void setBackgroundTintList(ColorStateList tint)

Applies a tint to the background drawable.

void setBackgroundTintMode(PorterDuff.Mode tintMode)

Specifies the blending mode used to apply the tint specified bysetBackgroundTintList(ColorStateList)} to the background drawable.

final void setBottom(int bottom)

Sets the bottom position of this view relative to its parent.

void setCameraDistance(float distance)

Sets the distance along the Z axis (orthogonal to the X/Y plane on which views are drawn) from the camera to this view.

void setClickable(boolean clickable)

Enables or disables click events for this view.

void setClipBounds(Rect clipBounds)

Sets a rectangular area on this view to which the view will be clipped when it is drawn.

void setClipToOutline(boolean clipToOutline)

Sets whether the View's Outline should be used to clip the contents of the View.

void setContentDescription(CharSequence contentDescription)

Sets the View's content description.

void setContextClickable(boolean contextClickable)

Enables or disables context clicking for this view.

void setDefaultFocusHighlightEnabled(boolean defaultFocusHighlightEnabled)

Sets whether this View should use a default focus highlight when it gets focused but doesn't have R.attr.state_focused defined in its background.

void setDrawingCacheBackgroundColor(int color)

This method was deprecated in API level 28. The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

void setDrawingCacheEnabled(boolean enabled)

This method was deprecated in API level 28. The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

void setDrawingCacheQuality(int quality)

This method was deprecated in API level 28. The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

void setDuplicateParentStateEnabled(boolean enabled)

Enables or disables the duplication of the parent's state into this view.

void setElevation(float elevation)

Sets the base elevation of this view, in pixels.

void setEnabled(boolean enabled)

Set the enabled state of this view.

void setFadingEdgeLength(int length)

Set the size of the faded edge used to indicate that more content in this view is available.

void setFilterTouchesWhenObscured(boolean enabled)

Sets whether the framework should discard touches when the view's window is obscured by another visible window.

void setFitsSystemWindows(boolean fitSystemWindows)

Sets whether or not this view should account for system screen decorations such as the status bar and inset its content; that is, controlling whether the default implementation of fitSystemWindows(Rect) will be executed.

void setFocusable(boolean focusable)

Set whether this view can receive the focus.

void setFocusable(int focusable)

Sets whether this view can receive focus.

void setFocusableInTouchMode(boolean focusableInTouchMode)

Set whether this view can receive focus while in touch mode.

void setFocusedByDefault(boolean isFocusedByDefault)

Sets whether this View should receive focus when the focus is restored for the view hierarchy containing this view.

void setForeground(Drawable foreground)

Supply a Drawable that is to be rendered on top of all of the content in the view.

void setForegroundGravity(int gravity)

Describes how the foreground is positioned.

void setForegroundTintList(ColorStateList tint)

Applies a tint to the foreground drawable.

void setForegroundTintMode(PorterDuff.Mode tintMode)

Specifies the blending mode used to apply the tint specified bysetForegroundTintList(ColorStateList)} to the background drawable.

void setHapticFeedbackEnabled(boolean hapticFeedbackEnabled)

Set whether this view should have haptic feedback for events such as long presses.

void setHasTransientState(boolean hasTransientState)

Set whether this view is currently tracking transient state that the framework should attempt to preserve when possible.

void setHorizontalFadingEdgeEnabled(boolean horizontalFadingEdgeEnabled)

Define whether the horizontal edges should be faded when this view is scrolled horizontally.

void setHorizontalScrollBarEnabled(boolean horizontalScrollBarEnabled)

Define whether the horizontal scrollbar should be drawn or not.

void setHovered(boolean hovered)

Sets whether the view is currently hovered.

void setId(int id)

Sets the identifier for this view.

void setImportantForAccessibility(int mode)

Sets how to determine whether this view is important for accessibility which is if it fires accessibility events and if it is reported to accessibility services that query the screen.

void setImportantForAutofill(int mode)

Sets the mode for determining whether this view is considered important for autofill.

void setKeepScreenOn(boolean keepScreenOn)

Controls whether the screen should remain on, modifying the value of KEEP_SCREEN_ON.

void setKeyboardNavigationCluster(boolean isCluster)

Set whether this view is a root of a keyboard navigation cluster.

void setLabelFor(int id)

Sets the id of a view for which this view serves as a label for accessibility purposes.

void setLayerPaint(Paint paint)

Updates the Paint object used with the current layer (used only if the current layer type is not set to LAYER_TYPE_NONE).

void setLayerType(int layerType, Paint paint)

Specifies the type of layer backing this view.

void setLayoutDirection(int layoutDirection)

Set the layout direction for this view.

void setLayoutParams(ViewGroup.LayoutParams params)

Set the layout parameters associated with this view.

final void setLeft(int left)

Sets the left position of this view relative to its parent.

void setLongClickable(boolean longClickable)

Enables or disables long click events for this view.

void setMinimumHeight(int minHeight)

Sets the minimum height of the view.

void setMinimumWidth(int minWidth)

Sets the minimum width of the view.

void setNestedScrollingEnabled(boolean enabled)

Enable or disable nested scrolling for this view.

void setNextClusterForwardId(int nextClusterForwardId)

Sets the id of the view to use as the root of the next keyboard navigation cluster.

void setNextFocusDownId(int nextFocusDownId)

Sets the id of the view to use when the next focus is FOCUS_DOWN.

void setNextFocusForwardId(int nextFocusForwardId)

Sets the id of the view to use when the next focus is FOCUS_FORWARD.

void setNextFocusLeftId(int nextFocusLeftId)

Sets the id of the view to use when the next focus is FOCUS_LEFT.

void setNextFocusRightId(int nextFocusRightId)

Sets the id of the view to use when the next focus is FOCUS_RIGHT.

void setNextFocusUpId(int nextFocusUpId)

Sets the id of the view to use when the next focus is FOCUS_UP.

void setOnApplyWindowInsetsListener(View.OnApplyWindowInsetsListener listener)

Set an View.OnApplyWindowInsetsListener to take over the policy for applying window insets to this view.

void setOnCapturedPointerListener(View.OnCapturedPointerListener l)

Set a listener to receive callbacks when the pointer capture state of a view changes.

void setOnClickListener(View.OnClickListener l)

Register a callback to be invoked when this view is clicked.

void setOnContextClickListener(View.OnContextClickListener l)

Register a callback to be invoked when this view is context clicked.

void setOnCreateContextMenuListener(View.OnCreateContextMenuListener l)

Register a callback to be invoked when the context menu for this view is being built.

void setOnDragListener(View.OnDragListener l)

Register a drag event listener callback object for this View.

void setOnFocusChangeListener(View.OnFocusChangeListener l)

Register a callback to be invoked when focus of this view changed.

void setOnGenericMotionListener(View.OnGenericMotionListener l)

Register a callback to be invoked when a generic motion event is sent to this view.

void setOnHoverListener(View.OnHoverListener l)

Register a callback to be invoked when a hover event is sent to this view.

void setOnKeyListener(View.OnKeyListener l)

Register a callback to be invoked when a hardware key is pressed in this view.

void setOnLongClickListener(View.OnLongClickListener l)

Register a callback to be invoked when this view is clicked and held.

void setOnScrollChangeListener(View.OnScrollChangeListener l)

Register a callback to be invoked when the scroll X or Y positions of this view change.

void setOnSystemUiVisibilityChangeListener(View.OnSystemUiVisibilityChangeListener l)

Set a listener to receive callbacks when the visibility of the system bar changes.

void setOnTouchListener(View.OnTouchListener l)

Register a callback to be invoked when a touch event is sent to this view.

void setOutlineAmbientShadowColor(int color)

Sets the color of the ambient shadow that is drawn when the view has a positive Z or elevation value.

void setOutlineProvider(ViewOutlineProvider provider)

Sets the ViewOutlineProvider of the view, which generates the Outline that defines the shape of the shadow it casts, and enables outline clipping.

void setOutlineSpotShadowColor(int color)

Sets the color of the spot shadow that is drawn when the view has a positive Z or elevation value.

void setOverScrollMode(int overScrollMode)

Set the over-scroll mode for this view.

void setPadding(int left, int top, int right, int bottom)

Sets the padding.

void setPaddingRelative(int start, int top, int end, int bottom)

Sets the relative padding.

void setPivotX(float pivotX)

Sets the x location of the point around which the view is rotated and scaled.

void setPivotY(float pivotY)

Sets the y location of the point around which the view is rotated and scaled.

void setPointerIcon(PointerIcon pointerIcon)

Set the pointer icon for the current view.

void setPressed(boolean pressed)

Sets the pressed state for this view.

final void setRevealOnFocusHint(boolean revealOnFocus)

Sets this view's preference for reveal behavior when it gains focus.

final void setRight(int right)

Sets the right position of this view relative to its parent.

void setRotation(float rotation)

Sets the degrees that the view is rotated around the pivot point.

void setRotationX(float rotationX)

Sets the degrees that the view is rotated around the horizontal axis through the pivot point.

void setRotationY(float rotationY)

Sets the degrees that the view is rotated around the vertical axis through the pivot point.

void setSaveEnabled(boolean enabled)

Controls whether the saving of this view's state is enabled (that is, whether its onSaveInstanceState() method will be called).

void setSaveFromParentEnabled(boolean enabled)

Controls whether the entire hierarchy under this view will save its state when a state saving traversal occurs from its parent.

void setScaleX(float scaleX)

Sets the amount that the view is scaled in x around the pivot point, as a proportion of the view's unscaled width.

void setScaleY(float scaleY)

Sets the amount that the view is scaled in Y around the pivot point, as a proportion of the view's unscaled width.

void setScreenReaderFocusable(boolean screenReaderFocusable)

When screen readers (one type of accessibility tool) decide what should be read to the user, they typically look for input focusable (isFocusable()) parents of non-focusable text items, and read those focusable parents and their non-focusable children as a unit.

void setScrollBarDefaultDelayBeforeFade(int scrollBarDefaultDelayBeforeFade)

Define the delay before scrollbars fade.

void setScrollBarFadeDuration(int scrollBarFadeDuration)

Define the scrollbar fade duration.

void setScrollBarSize(int scrollBarSize)

Define the scrollbar size.

void setScrollBarStyle(int style)

Specify the style of the scrollbars.

void setScrollContainer(boolean isScrollContainer)

Change whether this view is one of the set of scrollable containers in its window.

void setScrollIndicators(int indicators, int mask)

Sets the state of the scroll indicators specified by the mask.

void setScrollIndicators(int indicators)

Sets the state of all scroll indicators.

void setScrollX(int value)

Set the horizontal scrolled position of your view.

void setScrollY(int value)

Set the vertical scrolled position of your view.

void setScrollbarFadingEnabled(boolean fadeScrollbars)

Define whether scrollbars will fade when the view is not scrolling.

void setSelected(boolean selected)

Changes the selection state of this view.

void setSoundEffectsEnabled(boolean soundEffectsEnabled)

Set whether this view should have sound effects enabled for events such as clicking and touching.

void setStateListAnimator(StateListAnimator stateListAnimator)

Attaches the provided StateListAnimator to this View.

void setSystemUiVisibility(int visibility)

Request that the visibility of the status bar or other screen/window decorations be changed.

void setTag(int key, Object tag)

Sets a tag associated with this view and a key.

void setTag(Object tag)

Sets the tag associated with this view.

void setTextAlignment(int textAlignment)

Set the text alignment.

void setTextDirection(int textDirection)

Set the text direction.

void setTooltipText(CharSequence tooltipText)

Sets the tooltip text which will be displayed in a small popup next to the view.

final void setTop(int top)

Sets the top position of this view relative to its parent.

void setTouchDelegate(TouchDelegate delegate)

Sets the TouchDelegate for this View.

final void setTransitionName(String transitionName)

Sets the name of the View to be used to identify Views in Transitions.

void setTranslationX(float translationX)

Sets the horizontal location of this view relative to its left position.

void setTranslationY(float translationY)

Sets the vertical location of this view relative to its top position.

void setTranslationZ(float translationZ)

Sets the depth location of this view relative to its elevation.

void setVerticalFadingEdgeEnabled(boolean verticalFadingEdgeEnabled)

Define whether the vertical edges should be faded when this view is scrolled vertically.

void setVerticalScrollBarEnabled(boolean verticalScrollBarEnabled)

Define whether the vertical scrollbar should be drawn or not.

void setVerticalScrollbarPosition(int position)

Set the position of the vertical scroll bar.

void setVisibility(int visibility)

Set the visibility state of this view.

void setWillNotCacheDrawing(boolean willNotCacheDrawing)

This method was deprecated in API level 28. The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

void setWillNotDraw(boolean willNotDraw)

If this view doesn't do any drawing on its own, set this flag to allow further optimizations.

void setX(float x)

Sets the visual x position of this view, in pixels.

void setY(float y)

Sets the visual y position of this view, in pixels.

void setZ(float z)

Sets the visual z position of this view, in pixels.

boolean showContextMenu()

Shows the context menu for this view.

boolean showContextMenu(float x, float y)

Shows the context menu for this view anchored to the specified view-relative coordinate.

ActionMode startActionMode(ActionMode.Callback callback, int type)

Start an action mode with the given type.

ActionMode startActionMode(ActionMode.Callback callback)

Start an action mode with the default type ActionMode.TYPE_PRIMARY.

void startAnimation(Animation animation)

Start the specified animation now.

final boolean startDrag(ClipData data, View.DragShadowBuilder shadowBuilder, ObjectmyLocalState, int flags)

This method was deprecated in API level 24. Use startDragAndDrop() for newer platform versions.

final boolean startDragAndDrop(ClipData data, View.DragShadowBuilder shadowBuilder,Object myLocalState, int flags)

Starts a drag and drop operation.

boolean startNestedScroll(int axes)

Begin a nestable scroll operation along the given axes.

void stopNestedScroll()

Stop a nested scroll in progress.

String toString()

Returns a string representation of the object.

void unscheduleDrawable(Drawable who, Runnable what)

Cancels a scheduled action on a drawable.

void unscheduleDrawable(Drawable who)

Unschedule any events associated with the given Drawable.

final void updateDragShadow(View.DragShadowBuilder shadowBuilder)

Updates the drag shadow for the ongoing drag and drop operation.

boolean willNotCacheDrawing()

This method was deprecated in API level 28. The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

boolean willNotDraw()

Returns whether or not this View draws on its own.

Protected methods

boolean awakenScrollBars(int startDelay, boolean invalidate)

Trigger the scrollbars to draw.

boolean awakenScrollBars(int startDelay)

Trigger the scrollbars to draw.

boolean awakenScrollBars()

Trigger the scrollbars to draw.

int computeHorizontalScrollExtent()

Compute the horizontal extent of the horizontal scrollbar's thumb within the horizontal range.

int computeHorizontalScrollOffset()

Compute the horizontal offset of the horizontal scrollbar's thumb within the horizontal range.

int computeHorizontalScrollRange()

Compute the horizontal range that the horizontal scrollbar represents.

int computeVerticalScrollExtent()

Compute the vertical extent of the vertical scrollbar's thumb within the vertical range.

int computeVerticalScrollOffset()

Compute the vertical offset of the vertical scrollbar's thumb within the horizontal range.

int computeVerticalScrollRange()

Compute the vertical range that the vertical scrollbar represents.

void dispatchDraw(Canvas canvas)

Called by draw to draw the child views.

boolean dispatchGenericFocusedEvent(MotionEvent event)

Dispatch a generic motion event to the currently focused view.

boolean dispatchGenericPointerEvent(MotionEvent event)

Dispatch a generic motion event to the view under the first pointer.

boolean dispatchHoverEvent(MotionEvent event)

Dispatch a hover event.

void dispatchRestoreInstanceState(SparseArray<Parcelable> container)

Called by restoreHierarchyState(android.util.SparseArray) to retrieve the state for this view and its children.

void dispatchSaveInstanceState(SparseArray<Parcelable> container)

Called by saveHierarchyState(android.util.SparseArray) to store the state for this view and its children.

void dispatchSetActivated(boolean activated)

Dispatch setActivated to all of this View's children.

void dispatchSetPressed(boolean pressed)

Dispatch setPressed to all of this View's children.

void dispatchSetSelected(boolean selected)

Dispatch setSelected to all of this View's children.

void dispatchVisibilityChanged(View changedView, int visibility)

Dispatch a view visibility change down the view hierarchy.

void drawableStateChanged()

This function is called whenever the state of the view changes in such a way that it impacts the state of drawables being shown.

boolean fitSystemWindows(Rect insets)

This method was deprecated in API level 20. As of API 20 use dispatchApplyWindowInsets(WindowInsets) to apply insets to views. Views should override onApplyWindowInsets(WindowInsets) or usesetOnApplyWindowInsetsListener(android.view.View.OnApplyWindowInsetsListener) to implement handling their own insets.

float getBottomFadingEdgeStrength()

Returns the strength, or intensity, of the bottom faded edge.

int getBottomPaddingOffset()

Amount by which to extend the bottom fading region.

ContextMenu.ContextMenuInfo getContextMenuInfo()

Views should implement this if they have extra information to associate with the context menu.

int getHorizontalScrollbarHeight()

Returns the height of the horizontal scrollbar.

float getLeftFadingEdgeStrength()

Returns the strength, or intensity, of the left faded edge.

int getLeftPaddingOffset()

Amount by which to extend the left fading region.

float getRightFadingEdgeStrength()

Returns the strength, or intensity, of the right faded edge.

int getRightPaddingOffset()

Amount by which to extend the right fading region.

int getSuggestedMinimumHeight()

Returns the suggested minimum height that the view should use.

int getSuggestedMinimumWidth()

Returns the suggested minimum width that the view should use.

float getTopFadingEdgeStrength()

Returns the strength, or intensity, of the top faded edge.

int getTopPaddingOffset()

Amount by which to extend the top fading region.

int getWindowAttachCount()
boolean isPaddingOffsetRequired()

If the View draws content inside its padding and enables fading edges, it needs to support padding offsets.

static int[] mergeDrawableStates(int[] baseState, int[] additionalState)

Merge your own state values in additionalState into the base state values baseState that were returned byonCreateDrawableState(int).

void onAnimationEnd()

Invoked by a parent ViewGroup to notify the end of the animation currently associated with this view.

void onAnimationStart()

Invoked by a parent ViewGroup to notify the start of the animation currently associated with this view.

void onAttachedToWindow()

This is called when the view is attached to a window.

void onConfigurationChanged(Configuration newConfig)

Called when the current configuration of the resources being used by the application have changed.

void onCreateContextMenu(ContextMenu menu)

Views should implement this if the view itself is going to add items to the context menu.

int[] onCreateDrawableState(int extraSpace)

Generate the new Drawable state for this view.

void onDetachedFromWindow()

This is called when the view is detached from a window.

void onDisplayHint(int hint)

Gives this view a hint about whether is displayed or not.

void onDraw(Canvas canvas)

Implement this to do your drawing.

final void onDrawScrollBars(Canvas canvas)

Request the drawing of the horizontal and the vertical scrollbar.

void onFinishInflate()

Finalize inflating a view from XML.

void onFocusChanged(boolean gainFocus, int direction, Rect previouslyFocusedRect)

Called by the view system when the focus state of this view changes.

void onLayout(boolean changed, int left, int top, int right, int bottom)

Called from layout when this view should assign a size and position to each of its children.

void onMeasure(int widthMeasureSpec, int heightMeasureSpec)

Measure the view and its content to determine the measured width and the measured height.

void onOverScrolled(int scrollX, int scrollY, boolean clampedX, boolean clampedY)

Called by overScrollBy(int, int, int, int, int, int, int, int, boolean) to respond to the results of an over-scroll operation.

void onRestoreInstanceState(Parcelable state)

Hook allowing a view to re-apply a representation of its internal state that had previously been generated by onSaveInstanceState().

Parcelable onSaveInstanceState()

Hook allowing a view to generate a representation of its internal state that can later be used to create a new instance with that same state.

void onScrollChanged(int l, int t, int oldl, int oldt)

This is called in response to an internal scroll in this view (i.e., the view scrolled its own contents).

boolean onSetAlpha(int alpha)

Invoked if there is a Transform that involves alpha.

void onSizeChanged(int w, int h, int oldw, int oldh)

This is called during layout when the size of this view has changed.

void onVisibilityChanged(View changedView, int visibility)

Called when the visibility of the view or an ancestor of the view has changed.

void onWindowVisibilityChanged(int visibility)

Called when the window containing has change its visibility (between GONEINVISIBLE, and VISIBLE).

boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX,int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent)

Scroll the view with standard behavior for scrolling beyond the normal content boundaries.

final void setMeasuredDimension(int measuredWidth, int measuredHeight)

This method must be called by onMeasure(int, int) to store the measured width and measured height.

boolean verifyDrawable(Drawable who)

If your view subclass is displaying its own Drawable objects, it should override this function and return true for any Drawable it is displaying.

Inherited methods

From class java.lang.Object

From interface android.graphics.drawable.Drawable.Callback

From interface android.view.KeyEvent.Callback

From interface android.view.accessibility.AccessibilityEventSource

XML attributes

android:accessibilityHeading

Whether or not this view is a heading for accessibility purposes.

May be a boolean value, such as "true" or "false".

Related methods:

android:accessibilityLiveRegion

Indicates to accessibility services whether the user should be notified when this view changes.

May be an integer value, such as "100".

Must be one of the following constant values.

Constant Value Description
assertive 2 Accessibility services should interrupt ongoing speech to immediately announce changes to this view.
none 0 Accessibility services should not announce changes to this view.
polite 1 Accessibility services should announce changes to this view.

Related methods:

android:accessibilityTraversalAfter

Sets the id of a view after which this one is visited in accessibility traversal. A screen-reader must visit the content of the other view before the content of this one.

May be an integer value, such as "100".

Related methods:

android:accessibilityTraversalBefore

Sets the id of a view before which this one is visited in accessibility traversal. A screen-reader must visit the content of this view before the content of the one it precedes.

May be an integer value, such as "100".

Related methods:

android:alpha

alpha property of the view, as a value between 0 (completely transparent) and 1 (completely opaque).

May be a floating point value, such as "1.2".

Related methods:

android:autofillHints

Describes the content of a view so that a autofill service can fill in the appropriate data. Multiple hints can be combined in a comma separated list or an array of strings to mean e.g. emailAddress or postalAddress.

May be a reference to another resource, in the form "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name".

May be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character;

Related methods:

android:autofilledHighlight

Drawable to be drawn over the view to mark it as autofilled

May be a reference to another resource, in the form "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name".

Related methods:

android:background

A drawable to use as the background. This can be either a reference to a full drawable resource (such as a PNG image, 9-patch, XML state list description, etc), or a solid color such as "#ff000000" (black).

May be a reference to another resource, in the form "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name".

May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

Related methods:

android:backgroundTint

Tint to apply to the background.

May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

Related methods:

android:backgroundTintMode

Blending mode used to apply the background tint.

Must be one of the following constant values.

Constant Value Description
add 10 Combines the tint and drawable color and alpha channels, clamping the result to valid color values. Saturate(S + D)
multiply e Multiplies the color and alpha channels of the drawable with those of the tint. [Sa * Da, Sc * Dc]
screen f [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc]
src_atop 9 The tint is drawn above the drawable, but with the drawable’s alpha channel masking the result. [Da, Sc * Da + (1 - Sa) * Dc]
src_in 5 The tint is masked by the alpha channel of the drawable. The drawable’s color channels are thrown out. [Sa * Da, Sc * Da]
src_over 3 The tint is drawn on top of the drawable. [Sa + (1 - Sa)*Da, Rc = Sc + (1 - Sa)*Dc]

Related methods:

android:clickable

Defines whether this view reacts to click events.

May be a boolean value, such as "true" or "false".

Related methods:

android:contentDescription

Defines text that briefly describes content of the view. This property is used primarily for accessibility. Since some views do not have textual representation this attribute can be used for providing such.

May be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character;

Related methods:

android:contextClickable

Defines whether this view reacts to context click events.

May be a boolean value, such as "true" or "false".

Related methods:

android:defaultFocusHighlightEnabled

Whether this View should use a default focus highlight when it gets focused but doesn't have R.attr.state_focuseddefined in its background.

May be a boolean value, such as "true" or "false".

Related methods:

android:drawingCacheQuality

Defines the quality of translucent drawing caches. This property is used only when the drawing cache is enabled and translucent. The default value is auto. Deprecated: The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11.

Must be one of the following constant values.

Constant Value Description
auto 0 Lets the framework decide what quality level should be used for the drawing cache. Deprecated: The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11.
high 2 High quality. When set to high quality, the drawing cache uses a higher color depth but uses more memory. Deprecated: The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11.
low 1 Low quality. When set to low quality, the drawing cache uses a lower color depth, thus losing precision in rendering gradients, but uses less memory. Deprecated: The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11.

Related methods:

android:duplicateParentState

When this attribute is set to true, the view gets its drawable state (focused, pressed, etc.) from its direct parent rather than from itself.

May be a boolean value, such as "true" or "false".

android:elevation

base z depth of the view.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).

Related methods:

android:fadeScrollbars

Defines whether to fade out scrollbars when they are not in use.

May be a boolean value, such as "true" or "false".

Related methods:

android:fadingEdgeLength

Defines the length of the fading edges.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).

Related methods:

android:filterTouchesWhenObscured

Specifies whether to filter touches when the view's window is obscured by another visible window. When set to true, the view will not receive touches whenever a toast, dialog or other window appears above the view's window. Refer to the View security documentation for more details.

May be a boolean value, such as "true" or "false".

Related methods:

android:fitsSystemWindows

Boolean internal attribute to adjust view layout based on system windows such as the status bar. If true, adjusts the padding of this view to leave space for the system windows. Will only take effect if this view is in a non-embedded activity.

May be a boolean value, such as "true" or "false".

Related methods:

android:focusable

Controls whether a view can take focus. By default, this is "auto" which lets the framework determine whether a user can move focus to a view. By setting this attribute to true the view is allowed to take focus. By setting it to "false" the view will not take focus. This value does not impact the behavior of directly calling View.requestFocus(), which will always request focus regardless of this view. It only impacts where focus navigation will try to move focus.

May be a boolean value, such as "true" or "false".

Must be one of the following constant values.

Constant Value Description
auto 10  

Related methods:

android:focusableInTouchMode

Boolean that controls whether a view can take focus while in touch mode. If this is true for a view, that view can gain focus when clicked on, and can keep focus if another view is clicked on that doesn't have this attribute set to true.

May be a boolean value, such as "true" or "false".

Related methods:

android:focusedByDefault

Whether this view is a default-focus view. Only one view per keyboard navigation cluster can have this attribute set to true. See View.setFocusedByDefault(boolean).

May be a boolean value, such as "true" or "false".

Related methods:

android:forceHasOverlappingRendering

Whether this view has elements that may overlap when drawn. See View.forceHasOverlappingRendering(boolean).

May be a boolean value, such as "true" or "false".

Related methods:

android:foreground

Defines the drawable to draw over the content. This can be used as an overlay. The foreground drawable participates in the padding of the content if the gravity is set to fill.

May be a reference to another resource, in the form "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name".

May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

Related methods:

android:foregroundGravity

Defines the gravity to apply to the foreground drawable. The gravity defaults to fill.

Must be one or more (separated by '|') of the following constant values.

Constant Value Description
bottom 50 Push object to the bottom of its container, not changing its size.
center 11 Place the object in the center of its container in both the vertical and horizontal axis, not changing its size.
center_horizontal 1 Place object in the horizontal center of its container, not changing its size.
center_vertical 10 Place object in the vertical center of its container, not changing its size.
clip_horizontal 8 Additional option that can be set to have the left and/or right edges of the child clipped to its container's bounds. The clip will be based on the horizontal gravity: a left gravity will clip the right edge, a right gravity will clip the left edge, and neither will clip both edges.
clip_vertical 80 Additional option that can be set to have the top and/or bottom edges of the child clipped to its container's bounds. The clip will be based on the vertical gravity: a top gravity will clip the bottom edge, a bottom gravity will clip the top edge, and neither will clip both edges.
fill 77 Grow the horizontal and vertical size of the object if needed so it completely fills its container.
fill_horizontal 7 Grow the horizontal size of the object if needed so it completely fills its container.
fill_vertical 70 Grow the vertical size of the object if needed so it completely fills its container.
left 3 Push object to the left of its container, not changing its size.
right 5 Push object to the right of its container, not changing its size.
top 30 Push object to the top of its container, not changing its size.

Related methods:

android:foregroundTint

Tint to apply to the foreground.

May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

Related methods:

android:foregroundTintMode

Blending mode used to apply the foreground tint.

Must be one of the following constant values.

Constant Value Description
add 10 Combines the tint and drawable color and alpha channels, clamping the result to valid color values. Saturate(S + D)
multiply e Multiplies the color and alpha channels of the drawable with those of the tint. [Sa * Da, Sc * Dc]
screen f [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc]
src_atop 9 The tint is drawn above the drawable, but with the drawable’s alpha channel masking the result. [Da, Sc * Da + (1 - Sa) * Dc]
src_in 5 The tint is masked by the alpha channel of the drawable. The drawable’s color channels are thrown out. [Sa * Da, Sc * Da]
src_over 3 The tint is drawn on top of the drawable. [Sa + (1 - Sa)*Da, Rc = Sc + (1 - Sa)*Dc]

Related methods:

android:hapticFeedbackEnabled

Boolean that controls whether a view should have haptic feedback enabled for events such as long presses.

May be a boolean value, such as "true" or "false".

Related methods:

android:id

Supply an identifier name for this view, to later retrieve it with View.findViewById() or Activity.findViewById(). This must be a resource reference; typically you set this using the @+ syntax to create a new ID resources. For example: android:id="@+id/my_id" which allows you to later retrieve the view with findViewById(R.id.my_id).

May be a reference to another resource, in the form "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name".

Related methods:

android:importantForAccessibility

Describes whether or not this view is important for accessibility. If it is important, the view fires accessibility events and is reported to accessibility services that query the screen. Note: While not recommended, an accessibility service may decide to ignore this attribute and operate on all views in the view tree.

May be an integer value, such as "100".

Must be one of the following constant values.

Constant Value Description
auto 0 The system determines whether the view is important for accessibility - default (recommended).
no 2 The view is not important for accessibility.
noHideDescendants 4 The view is not important for accessibility, nor are any of its descendant views.
yes 1 The view is important for accessibility.

Related methods:

android:importantForAutofill

Hints the Android System whether the view node associated with this View should be included in a view structure used for autofill purposes.

Must be one or more (separated by '|') of the following constant values.

Constant Value Description
auto 0 Let the Android System use its heuristics to determine if the view is important for autofill.
no 2 Hint the Android System that this view is *not* important for autofill, but its children (if any) will be traversed..
noExcludeDescendants 8 Hint the Android System that this view is *not* important for autofill, and its children (if any) will not be traversed.
yes 1 Hint the Android System that this view is important for autofill, and its children (if any) will be traversed..
yesExcludeDescendants 4 Hint the Android System that this view is important for autofill, but its children (if any) will not be traversed.

Related methods:

android:isScrollContainer

Set this if the view will serve as a scrolling container, meaning that it can be resized to shrink its overall window so that there will be space for an input method. If not set, the default value will be true if "scrollbars" has the vertical scrollbar set, else it will be false.

May be a boolean value, such as "true" or "false".

Related methods:

android:keepScreenOn

Controls whether the view's window should keep the screen on while visible.

May be a boolean value, such as "true" or "false".

Related methods:

android:keyboardNavigationCluster

Whether this view is a root of a keyboard navigation cluster. See View.setKeyboardNavigationCluster(boolean).

May be a boolean value, such as "true" or "false".

Related methods:

android:layerType

Specifies the type of layer backing this view. The default value is none. Refer to View.setLayerType(int, android.graphics.Paint) for more information.

Must be one of the following constant values.

Constant Value Description
hardware 2 Use a hardware layer. Refer to View.setLayerType(int, android.graphics.Paint) for more information.
none 0 Don't use a layer.
software 1 Use a software layer. Refer to View.setLayerType(int, android.graphics.Paint) for more information.

Related methods:

android:layoutDirection

Defines the direction of layout drawing. This typically is associated with writing direction of the language script used. The possible values are "ltr" for Left-to-Right, "rtl" for Right-to-Left, "locale", and "inherit" from parent view. If there is nothing to inherit, "locale" is used. "locale" falls back to "en-US". "ltr" is the direction used in "en-US". The default for this attribute is "inherit".

Must be one of the following constant values.

Constant Value Description
inherit 2 Inherit from parent.
locale 3 Locale.
ltr 0 Left-to-Right.
rtl 1 Right-to-Left.

Related methods:

android:longClickable

Defines whether this view reacts to long click events.

May be a boolean value, such as "true" or "false".

Related methods:

android:minHeight

Defines the minimum height of the view. It is not guaranteed the view will be able to achieve this minimum height (for example, if its parent layout constrains it with less available height).

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).

Related methods:

android:minWidth

Defines the minimum width of the view. It is not guaranteed the view will be able to achieve this minimum width (for example, if its parent layout constrains it with less available width).

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).

Related methods:

android:nextClusterForward

Defines the next keyboard navigation cluster. If the reference refers to a view that does not exist or is part of a hierarchy that is invisible, a RuntimeException will result when the reference is accessed.

May be a reference to another resource, in the form "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name".

Related methods:

android:nextFocusDown

Defines the next view to give focus to when the next focus is View.FOCUS_DOWN If the reference refers to a view that does not exist or is part of a hierarchy that is invisible, a RuntimeException will result when the reference is accessed.

May be a reference to another resource, in the form "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name".

Related methods:

android:nextFocusForward

Defines the next view to give focus to when the next focus is View.FOCUS_FORWARD If the reference refers to a view that does not exist or is part of a hierarchy that is invisible, a RuntimeException will result when the reference is accessed.

May be a reference to another resource, in the form "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name".

Related methods:

android:nextFocusLeft

Defines the next view to give focus to when the next focus is View.FOCUS_LEFT. If the reference refers to a view that does not exist or is part of a hierarchy that is invisible, a RuntimeException will result when the reference is accessed.

May be a reference to another resource, in the form "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name".

Related methods:

android:nextFocusRight

Defines the next view to give focus to when the next focus is View.FOCUS_RIGHT If the reference refers to a view that does not exist or is part of a hierarchy that is invisible, a RuntimeException will result when the reference is accessed.

May be a reference to another resource, in the form "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name".

Related methods:

android:nextFocusUp

Defines the next view to give focus to when the next focus is View.FOCUS_UP If the reference refers to a view that does not exist or is part of a hierarchy that is invisible, a RuntimeException will result when the reference is accessed.

May be a reference to another resource, in the form "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name".

Related methods:

android:onClick

Name of the method in this View's context to invoke when the view is clicked. This name must correspond to a public method that takes exactly one parameter of type View. For instance, if you specify android:onClick="sayHello", you must declare a public void sayHello(View v) method of your context (typically, your Activity).

May be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character;

android:outlineAmbientShadowColor

Sets the color of the ambient shadow that is drawn when the view has a positive Z or elevation value.

By default the shadow color is black. Generally, this color will be opaque so the intensity of the shadow is consistent between different views with different colors.

The opacity of the final ambient shadow is a function of the shadow caster height, the alpha channel of the outlineAmbientShadowColor (typically opaque), and the R.attr.ambientShadowAlpha theme attribute.

May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

Related methods:

android:outlineSpotShadowColor

Sets the color of the spot shadow that is drawn when the view has a positive Z or elevation value.

By default the shadow color is black. Generally, this color will be opaque so the intensity of the shadow is consistent between different views with different colors.

The opacity of the final spot shadow is a function of the shadow caster height, the alpha channel of the outlineSpotShadowColor (typically opaque), and the R.attr.spotShadowAlpha theme attribute.

May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

Related methods:

android:padding

Sets the padding, in pixels, of all four edges. Padding is defined as space between the edges of the view and the view's content. This value will take precedence over any of the edge-specific values (paddingLeft, paddingTop, paddingRight, paddingBottom, paddingHorizontal and paddingVertical), but will not override paddingStart or paddingEnd, if set. A view's size will include its padding. If a R.attr.background is provided, the padding will initially be set to that (0 if the drawable does not have padding). Explicitly setting a padding value will override the corresponding padding found in the background.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).

Related methods:

android:paddingBottom

Sets the padding, in pixels, of the bottom edge; see R.attr.padding.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).

Related methods:

android:paddingEnd

Sets the padding, in pixels, of the end edge; see R.attr.padding.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).

Related methods:

android:paddingHorizontal

Sets the padding, in pixels, of the left and right edges; see R.attr.padding. This value will take precedence over paddingLeft and paddingRight, but not paddingStart or paddingEnd (if set).

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).

android:paddingLeft

Sets the padding, in pixels, of the left edge; see R.attr.padding.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).

Related methods:

android:paddingRight

Sets the padding, in pixels, of the right edge; see R.attr.padding.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).

Related methods:

android:paddingStart

Sets the padding, in pixels, of the start edge; see R.attr.padding.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).

Related methods:

android:paddingTop

Sets the padding, in pixels, of the top edge; see R.attr.padding.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).

Related methods:

android:paddingVertical

Sets the padding, in pixels, of the top and bottom edges; see R.attr.padding. This value will take precedence over paddingTop and paddingBottom, if set.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).

android:requiresFadingEdge

Defines which edges should be faded on scrolling.

Must be one or more (separated by '|') of the following constant values.

Constant Value Description
horizontal 1000 Fades horizontal edges only.
none 0 No edge is faded.
vertical 2000 Fades vertical edges only.

Related methods:

android:rotation

rotation of the view, in degrees.

May be a floating point value, such as "1.2".

Related methods:

android:rotationX

rotation of the view around the x axis, in degrees.

May be a floating point value, such as "1.2".

Related methods:

android:rotationY

rotation of the view around the y axis, in degrees.

May be a floating point value, such as "1.2".

Related methods:

android:saveEnabled

If false, no state will be saved for this view when it is being frozen. The default is true, allowing the view to be saved (however it also must have an ID assigned to it for its state to be saved). Setting this to false only disables the state for this view, not for its children which may still be saved.

May be a boolean value, such as "true" or "false".

Related methods:

android:scaleX

scale of the view in the x direction.

May be a floating point value, such as "1.2".

Related methods:

android:scaleY

scale of the view in the y direction.

May be a floating point value, such as "1.2".

Related methods:

android:scrollIndicators

Defines which scroll indicators should be displayed when the view can be scrolled. Multiple values may be combined using logical OR, for example "top|bottom".

Must be one or more (separated by '|') of the following constant values.

Constant Value Description
bottom 2 Displays bottom scroll indicator when vew can be scrolled down.
end 20 Displays right scroll indicator when vew can be scrolled in the end direction.
left 4 Displays left scroll indicator when vew can be scrolled left.
none 0 No scroll indicators are displayed.
right 8 Displays right scroll indicator when vew can be scrolled right.
start 10 Displays right scroll indicator when vew can be scrolled in the start direction.
top 1 Displays top scroll indicator when view can be scrolled up.

Related methods:

android:scrollX

The initial horizontal scroll offset, in pixels.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).

android:scrollY

The initial vertical scroll offset, in pixels.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).

android:scrollbarAlwaysDrawHorizontalTrack

Defines whether the horizontal scrollbar track should always be drawn.

May be a boolean value, such as "true" or "false".

android:scrollbarAlwaysDrawVerticalTrack

Defines whether the vertical scrollbar track should always be drawn.

May be a boolean value, such as "true" or "false".

android:scrollbarDefaultDelayBeforeFade

Defines the delay in milliseconds that a scrollbar waits before fade out.

May be an integer value, such as "100".

Related methods:

android:scrollbarFadeDuration

Defines the delay in milliseconds that a scrollbar takes to fade out.

May be an integer value, such as "100".

Related methods:

android:scrollbarSize

Sets the width of vertical scrollbars and height of horizontal scrollbars.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).

Related methods:

android:scrollbarStyle

Controls the scrollbar style and position. The scrollbars can be overlaid or inset. When inset, they add to the padding of the view. And the scrollbars can be drawn inside the padding area or on the edge of the view. For example, if a view has a background drawable and you want to draw the scrollbars inside the padding specified by the drawable, you can use insideOverlay or insideInset. If you want them to appear at the edge of the view, ignoring the padding, then you can use outsideOverlay or outsideInset.

Must be one of the following constant values.

Constant Value Description
insideInset 1000000 Inside the padding and inset.
insideOverlay 0 Inside the padding and overlaid.
outsideInset 3000000 Edge of the view and inset.
outsideOverlay 2000000 Edge of the view and overlaid.

Related methods:

android:scrollbarThumbHorizontal

Defines the horizontal scrollbar thumb drawable.

May be a reference to another resource, in the form "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name".

android:scrollbarThumbVertical

Defines the vertical scrollbar thumb drawable.

May be a reference to another resource, in the form "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name".

android:scrollbarTrackHorizontal

Defines the horizontal scrollbar track drawable.

May be a reference to another resource, in the form "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name".

android:scrollbarTrackVertical

Defines the vertical scrollbar track drawable.

May be a reference to another resource, in the form "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name".

android:scrollbars

Defines which scrollbars should be displayed on scrolling or not.

Must be one or more (separated by '|') of the following constant values.

Constant Value Description
horizontal 100 Displays horizontal scrollbar only.
none 0 No scrollbar is displayed.
vertical 200 Displays vertical scrollbar only.

android:soundEffectsEnabled

Boolean that controls whether a view should have sound effects enabled for events such as clicking and touching.

May be a boolean value, such as "true" or "false".

Related methods:

android:stateListAnimator

Sets the state-based animator for the View.

May be a reference to another resource, in the form "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name".

android:tag

Supply a tag for this view containing a String, to be retrieved later with View.getTag() or searched for with View.findViewWithTag(). It is generally preferable to use IDs (through the android:id attribute) instead of tags because they are faster and allow for compile-time type checking.

May be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character;

android:textAlignment

Defines the alignment of the text.

May be an integer value, such as "100".

Must be one of the following constant values.

Constant Value Description
center 4 Center the paragraph, for example: ALIGN_CENTER.
gravity 1 Default for the root view. The gravity determines the alignment, ALIGN_NORMAL, ALIGN_CENTER, or ALIGN_OPPOSITE, which are relative to each paragraph’s text direction.
inherit 0 Default.
textEnd 3 Align to the end of the paragraph, for example: ALIGN_OPPOSITE.
textStart 2 Align to the start of the paragraph, for example: ALIGN_NORMAL.
viewEnd 6 Align to the end of the view, which is ALIGN_RIGHT if the view’s resolved layoutDirection is LTR, and ALIGN_LEFT otherwise.
viewStart 5 Align to the start of the view, which is ALIGN_LEFT if the view’s resolved layoutDirection is LTR, and ALIGN_RIGHT otherwise.

Related methods:

android:textDirection

Defines the direction of the text.

May be an integer value, such as "100".

Must be one of the following constant values.

Constant Value Description
anyRtl 2 The paragraph direction is RTL if it contains any strong RTL character, otherwise it is LTR if it contains any strong LTR characters. If there are neither, the paragraph direction is the view’s resolved layout direction.
firstStrong 1 Default for the root view. The first strong directional character determines the paragraph direction. If there is no strong directional character, the paragraph direction is the view’s resolved layout direction.
firstStrongLtr 6 The first strong directional character determines the paragraph direction. If there is no strong directional character, the paragraph direction is LTR.
firstStrongRtl 7 The first strong directional character determines the paragraph direction. If there is no strong directional character, the paragraph direction is RTL.
inherit 0 Default.
locale 5 The paragraph direction is coming from the system Locale.
ltr 3 The paragraph direction is left to right.
rtl 4 The paragraph direction is right to left.

Related methods:

android:theme

Specifies a theme override for a view. When a theme override is set, the view will be inflated using a Context themed with the specified resource. During XML inflation, any child views under the view with a theme override will inherit the themed context.

May be a reference to another resource, in the form "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name".

android:tooltipText

Defines text displayed in a small popup window on hover or long press.

May be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character;

Related methods:

android:transformPivotX

x location of the pivot point around which the view will rotate and scale. This xml attribute sets the pivotX property of the View.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).

Related methods:

android:transformPivotY

y location of the pivot point around which the view will rotate and scale. This xml attribute sets the pivotY property of the View.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).

Related methods:

android:transitionName

Names a View such that it can be identified for Transitions. Names should be unique in the View hierarchy.

May be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character;

android:translationX

translation in x of the view. This value is added post-layout to the left property of the view, which is set by its layout.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).

Related methods:

android:translationY

translation in y of the view. This value is added post-layout to the top property of the view, which is set by its layout.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).

Related methods:

android:translationZ

translation in z of the view. This value is added to its elevation.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).

Related methods:

android:visibility

Controls the initial visibility of the view.

Must be one of the following constant values.

Constant Value Description
gone 2 Completely hidden, as if the view had not been added.
invisible 1 Not displayed, but taken into account during layout (space is left for it).
visible 0 Visible on screen; the default value.

Related methods:

Constants

ACCESSIBILITY_LIVE_REGION_ASSERTIVE

added in API level 19

 

public static final int ACCESSIBILITY_LIVE_REGION_ASSERTIVE

Live region mode specifying that accessibility services should interrupt ongoing speech to immediately announce changes to this view.

Use with setAccessibilityLiveRegion(int).

Constant Value: 2 (0x00000002)

ACCESSIBILITY_LIVE_REGION_NONE

added in API level 19

 

public static final int ACCESSIBILITY_LIVE_REGION_NONE

Live region mode specifying that accessibility services should not automatically announce changes to this view. This is the default live region mode for most views.

Use with setAccessibilityLiveRegion(int).

Constant Value: 0 (0x00000000)

ACCESSIBILITY_LIVE_REGION_POLITE

added in API level 19

 

public static final int ACCESSIBILITY_LIVE_REGION_POLITE

Live region mode specifying that accessibility services should announce changes to this view.

Use with setAccessibilityLiveRegion(int).

Constant Value: 1 (0x00000001)

AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS

added in API level 26

 

public static final int AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS

Flag requesting you to add views that are marked as not important for autofill (see setImportantForAutofill(int)) to a ViewStructure.

Constant Value: 1 (0x00000001)

AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE

added in API level 26

 

public static final String AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE

Hint indicating that this view can be autofilled with a credit card expiration date.

It should be used when the credit card expiration date is represented by just one view; if it is represented by more than one (for example, one view for the month and another view for the year), then each of these views should use the hint specific for the unit (AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY,AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH, or AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR).

Can be used with either setAutofillHints(String[]) or android:autofillHint (in which case the value should be .AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE).

When annotating a view with this hint, it's recommended to use a date autofill value to avoid ambiguity when the autofill service provides a value for it. To understand why a value can be ambiguous, consider "April of 2020", which could be represented as either of the following options:

  • "04/2020"
  • "4/2020"
  • "2020/04"
  • "2020/4"
  • "April/2020"
  • "Apr/2020"

You define a date autofill value for the view by overriding the following methods:

  1. getAutofillType() to return AUTOFILL_TYPE_DATE.
  2. getAutofillValue() to return a date autofillvalue.
  3. autofill(AutofillValue) to expect a data autofillvalue.

See setAutofillHints(String) for more info about autofill hints.

Constant Value: "creditCardExpirationDate"

AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY

added in API level 26

 

public static final String AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY

Hint indicating that this view can be autofilled with a credit card expiration day.

Can be used with either setAutofillHints(String[]) or android:autofillHint (in which case the value should be .AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY).

See setAutofillHints(String) for more info about autofill hints.

Constant Value: "creditCardExpirationDay"

AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH

added in API level 26

 

public static final String AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH

Hint indicating that this view can be autofilled with a credit card expiration month.

Can be used with either setAutofillHints(String[]) or android:autofillHint (in which case the value should be .AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH).

When annotating a view with this hint, it's recommended to use a text autofill value whose value is the numerical representation of the month, starting on 1 to avoid ambiguity when the autofill service provides a value for it. To understand why a value can be ambiguous, consider "January", which could be represented as either of

  • "1": recommended way.
  • "0": if following the Calendar.MONTH convention.
  • "January": full name, in English.
  • "jan": abbreviated name, in English.
  • "Janeiro": full name, in another language.

Another recommended approach is to use a date autofill value - see AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATEfor more details.

See setAutofillHints(String) for more info about autofill hints.

Constant Value: "creditCardExpirationMonth"

AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR

added in API level 26

 

public static final String AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR

Hint indicating that this view can be autofilled with a credit card expiration year.

Can be used with either setAutofillHints(String[]) or android:autofillHint (in which case the value should be .AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR).

See setAutofillHints(String) for more info about autofill hints.

Constant Value: "creditCardExpirationYear"

AUTOFILL_HINT_CREDIT_CARD_NUMBER

added in API level 26

 

public static final String AUTOFILL_HINT_CREDIT_CARD_NUMBER

Hint indicating that this view can be autofilled with a credit card number.

Can be used with either setAutofillHints(String[]) or android:autofillHint (in which case the value should be .AUTOFILL_HINT_CREDIT_CARD_NUMBER).

See setAutofillHints(String) for more info about autofill hints.

Constant Value: "creditCardNumber"

AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE

added in API level 26

 

public static final String AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE

Hint indicating that this view can be autofilled with a credit card security code.

Can be used with either setAutofillHints(String[]) or android:autofillHint (in which case the value should be .AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE).

See setAutofillHints(String) for more info about autofill hints.

Constant Value: "creditCardSecurityCode"

AUTOFILL_HINT_EMAIL_ADDRESS

added in API level 26

 

public static final String AUTOFILL_HINT_EMAIL_ADDRESS

Hint indicating that this view can be autofilled with an email address.

Can be used with either setAutofillHints(String[]) or android:autofillHint (in which case the value should be .AUTOFILL_HINT_EMAIL_ADDRESS).

See setAutofillHints(String) for more info about autofill hints.

Constant Value: "emailAddress"

AUTOFILL_HINT_NAME

added in API level 26

 

public static final String AUTOFILL_HINT_NAME

Hint indicating that this view can be autofilled with a user's real name.

Can be used with either setAutofillHints(String[]) or android:autofillHint (in which case the value should be .AUTOFILL_HINT_NAME).

See setAutofillHints(String) for more info about autofill hints.

Constant Value: "name"

AUTOFILL_HINT_PASSWORD

added in API level 26

 

public static final String AUTOFILL_HINT_PASSWORD

Hint indicating that this view can be autofilled with a password.

Can be used with either setAutofillHints(String[]) or android:autofillHint (in which case the value should be .AUTOFILL_HINT_PASSWORD).

See setAutofillHints(String) for more info about autofill hints.

Constant Value: "password"

AUTOFILL_HINT_PHONE

added in API level 26

 

public static final String AUTOFILL_HINT_PHONE

Hint indicating that this view can be autofilled with a phone number.

Can be used with either setAutofillHints(String[]) or android:autofillHint (in which case the value should be .AUTOFILL_HINT_PHONE).

See setAutofillHints(String) for more info about autofill hints.

Constant Value: "phone"

AUTOFILL_HINT_POSTAL_ADDRESS

added in API level 26

 

public static final String AUTOFILL_HINT_POSTAL_ADDRESS

Hint indicating that this view can be autofilled with a postal address.

Can be used with either setAutofillHints(String[]) or android:autofillHint (in which case the value should be .AUTOFILL_HINT_POSTAL_ADDRESS).

See setAutofillHints(String) for more info about autofill hints.

Constant Value: "postalAddress"

AUTOFILL_HINT_POSTAL_CODE

added in API level 26

 

public static final String AUTOFILL_HINT_POSTAL_CODE

Hint indicating that this view can be autofilled with a postal code.

Can be used with either setAutofillHints(String[]) or android:autofillHint (in which case the value should be .AUTOFILL_HINT_POSTAL_CODE).

See setAutofillHints(String) for more info about autofill hints.

Constant Value: "postalCode"

AUTOFILL_HINT_USERNAME

added in API level 26

 

public static final String AUTOFILL_HINT_USERNAME

Hint indicating that this view can be autofilled with a username.

Can be used with either setAutofillHints(String[]) or android:autofillHint (in which case the value should be .AUTOFILL_HINT_USERNAME).

See setAutofillHints(String) for more info about autofill hints.

Constant Value: "username"

AUTOFILL_TYPE_DATE

added in API level 26

 

public static final int AUTOFILL_TYPE_DATE

Autofill type for a field that contains a date, which is represented by a long representing the number of milliseconds since the standard base time known as "the epoch", namely January 1, 1970, 00:00:00 GMT (see Date.getTime().

AutofillValue instances for autofilling a View can be obtained through AutofillValue.forDate(long), and the values passed to autofill a View can be fetched through AutofillValue.getDateValue().

See also:

Constant Value: 4 (0x00000004)

AUTOFILL_TYPE_LIST

added in API level 26

 

public static final int AUTOFILL_TYPE_LIST

Autofill type for a selection list field, which is filled by an int representing the element index inside the list (starting at 0).

AutofillValue instances for autofilling a View can be obtained through AutofillValue.forList(int), and the value passed to autofill a View can be fetched through AutofillValue.getListValue().

The available options in the selection list are typically provided byAssistStructure.ViewNode.getAutofillOptions().

See also:

Constant Value: 3 (0x00000003)

AUTOFILL_TYPE_NONE

added in API level 26

 

public static final int AUTOFILL_TYPE_NONE

Autofill type for views that cannot be autofilled.

Typically used when the view is read-only; for example, a text label.

See also:

Constant Value: 0 (0x00000000)

AUTOFILL_TYPE_TEXT

added in API level 26

 

public static final int AUTOFILL_TYPE_TEXT

Autofill type for a text field, which is filled by a CharSequence.

AutofillValue instances for autofilling a View can be obtained through AutofillValue.forText(CharSequence), and the value passed to autofill a View can be fetched through AutofillValue.getTextValue().

See also:

Constant Value: 1 (0x00000001)

AUTOFILL_TYPE_TOGGLE

added in API level 26

 

public static final int AUTOFILL_TYPE_TOGGLE

Autofill type for a togglable field, which is filled by a boolean.

AutofillValue instances for autofilling a View can be obtained through AutofillValue.forToggle(boolean), and the value passed to autofill a View can be fetched through AutofillValue.getToggleValue().

See also:

Constant Value: 2 (0x00000002)

DRAG_FLAG_GLOBAL

added in API level 24

 

public static final int DRAG_FLAG_GLOBAL

Flag indicating that a drag can cross window boundaries. When startDragAndDrop(ClipData, DragShadowBuilder, Object, int) is called with this flag set, all visible applications with targetSdkVersion >= API 24 will be able to participate in the drag operation and receive the dragged content.

If this is the only flag set, then the drag recipient will only have access to text data and intents contained in the ClipData object. Access to URIs contained in the ClipData is determined by other DRAG_FLAG_GLOBAL_* flags

Constant Value: 256 (0x00000100)

DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION

added in API level 24

 

public static final int DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION

When this flag is used with DRAG_FLAG_GLOBAL_URI_READ and/or DRAG_FLAG_GLOBAL_URI_WRITE, the URI permission grant can be persisted across device reboots until explicitly revoked with Context.revokeUriPermission(Uri, int)Context.revokeUriPermission}.

See also:

Constant Value: 64 (0x00000040)

DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION

added in API level 24

 

public static final int DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION

When this flag is used with DRAG_FLAG_GLOBAL_URI_READ and/or DRAG_FLAG_GLOBAL_URI_WRITE, the URI permission grant applies to any URI that is a prefix match against the original granted URI.

See also:

Constant Value: 128 (0x00000080)

DRAG_FLAG_GLOBAL_URI_READ

added in API level 24

 

public static final int DRAG_FLAG_GLOBAL_URI_READ

When this flag is used with DRAG_FLAG_GLOBAL, the drag recipient will be able to request read access to the content URI(s) contained in the ClipData object.

See also:

Constant Value: 1 (0x00000001)

DRAG_FLAG_GLOBAL_URI_WRITE

added in API level 24

 

public static final int DRAG_FLAG_GLOBAL_URI_WRITE

When this flag is used with DRAG_FLAG_GLOBAL, the drag recipient will be able to request write access to the content URI(s) contained in the ClipData object.

See also:

Constant Value: 2 (0x00000002)

DRAG_FLAG_OPAQUE

added in API level 24

 

public static final int DRAG_FLAG_OPAQUE

Flag indicating that the drag shadow will be opaque. When startDragAndDrop(ClipData, DragShadowBuilder, Object, int) is called with this flag set, the drag shadow will be opaque, otherwise, it will be semitransparent.

Constant Value: 512 (0x00000200)

DRAWING_CACHE_QUALITY_AUTO

added in API level 1

 

public static final int DRAWING_CACHE_QUALITY_AUTO

This constant was deprecated in API level 28.
The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

Enables automatic quality mode for the drawing cache.

Constant Value: 0 (0x00000000)

DRAWING_CACHE_QUALITY_HIGH

added in API level 1

 

public static final int DRAWING_CACHE_QUALITY_HIGH

This constant was deprecated in API level 28.
The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

Enables high quality mode for the drawing cache.

Constant Value: 1048576 (0x00100000)

DRAWING_CACHE_QUALITY_LOW

added in API level 1

 

public static final int DRAWING_CACHE_QUALITY_LOW

This constant was deprecated in API level 28.
The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

Enables low quality mode for the drawing cache.

Constant Value: 524288 (0x00080000)

FIND_VIEWS_WITH_CONTENT_DESCRIPTION

added in API level 14

 

public static final int FIND_VIEWS_WITH_CONTENT_DESCRIPTION

Find find views that contain the specified content description.

See also:

Constant Value: 2 (0x00000002)

FIND_VIEWS_WITH_TEXT

added in API level 14

 

public static final int FIND_VIEWS_WITH_TEXT

Find views that render the specified text.

See also:

Constant Value: 1 (0x00000001)

FOCUSABLE

added in API level 26

 

public static final int FOCUSABLE

This view wants keystrokes.

Use with setFocusable(int) and android:focusable.

Constant Value: 1 (0x00000001)

FOCUSABLES_ALL

added in API level 4

 

public static final int FOCUSABLES_ALL

View flag indicating whether addFocusables(ArrayList, int, int) should add all focusable Views regardless if they are focusable in touch mode.

Constant Value: 0 (0x00000000)

FOCUSABLES_TOUCH_MODE

added in API level 4

 

public static final int FOCUSABLES_TOUCH_MODE

View flag indicating whether addFocusables(ArrayList, int, int) should add only Views focusable in touch mode.

Constant Value: 1 (0x00000001)

FOCUSABLE_AUTO

added in API level 26

 

public static final int FOCUSABLE_AUTO

This view determines focusability automatically. This is the default.

Use with setFocusable(int) and android:focusable.

Constant Value: 16 (0x00000010)

FOCUS_BACKWARD

added in API level 1

 

public static final int FOCUS_BACKWARD

Use with focusSearch(int). Move focus to the previous selectable item.

Constant Value: 1 (0x00000001)

FOCUS_DOWN

added in API level 1

 

public static final int FOCUS_DOWN

Use with focusSearch(int). Move focus down.

Constant Value: 130 (0x00000082)

FOCUS_FORWARD

added in API level 1

 

public static final int FOCUS_FORWARD

Use with focusSearch(int). Move focus to the next selectable item.

Constant Value: 2 (0x00000002)

FOCUS_LEFT

added in API level 1

 

public static final int FOCUS_LEFT

Use with focusSearch(int). Move focus to the left.

Constant Value: 17 (0x00000011)

FOCUS_RIGHT

added in API level 1

 

public static final int FOCUS_RIGHT

Use with focusSearch(int). Move focus to the right.

Constant Value: 66 (0x00000042)

FOCUS_UP

added in API level 1

 

public static final int FOCUS_UP

Use with focusSearch(int). Move focus up.

Constant Value: 33 (0x00000021)

GONE

added in API level 1

 

public static final int GONE

This view is invisible, and it doesn't take any space for layout purposes. Use with setVisibility(int) and android:visibility.

Constant Value: 8 (0x00000008)

HAPTIC_FEEDBACK_ENABLED

added in API level 3

 

public static final int HAPTIC_FEEDBACK_ENABLED

View flag indicating whether this view should have haptic feedback enabled for events such as long presses.

Constant Value: 268435456 (0x10000000)

IMPORTANT_FOR_ACCESSIBILITY_AUTO

added in API level 16

 

public static final int IMPORTANT_FOR_ACCESSIBILITY_AUTO

Automatically determine whether a view is important for accessibility.

Constant Value: 0 (0x00000000)

IMPORTANT_FOR_ACCESSIBILITY_NO

added in API level 16

 

public static final int IMPORTANT_FOR_ACCESSIBILITY_NO

The view is not important for accessibility.

Constant Value: 2 (0x00000002)

IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS

added in API level 19

 

public static final int IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS

The view is not important for accessibility, nor are any of its descendant views.

Constant Value: 4 (0x00000004)

IMPORTANT_FOR_ACCESSIBILITY_YES

added in API level 16

 

public static final int IMPORTANT_FOR_ACCESSIBILITY_YES

The view is important for accessibility.

Constant Value: 1 (0x00000001)

IMPORTANT_FOR_AUTOFILL_AUTO

added in API level 26

 

public static final int IMPORTANT_FOR_AUTOFILL_AUTO

Automatically determine whether a view is important for autofill.

See also:

Constant Value: 0 (0x00000000)

IMPORTANT_FOR_AUTOFILL_NO

added in API level 26

 

public static final int IMPORTANT_FOR_AUTOFILL_NO

The view is not important for autofill, but its children (if any) will be traversed.

See also:

Constant Value: 2 (0x00000002)

IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS

added in API level 26

 

public static final int IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS

The view is not important for autofill, and its children (if any) will not be traversed.

See also:

Constant Value: 8 (0x00000008)

IMPORTANT_FOR_AUTOFILL_YES

added in API level 26

 

public static final int IMPORTANT_FOR_AUTOFILL_YES

The view is important for autofill, and its children (if any) will be traversed.

See also:

Constant Value: 1 (0x00000001)

IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS

added in API level 26

 

public static final int IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS

The view is important for autofill, but its children (if any) will not be traversed.

See also:

Constant Value: 4 (0x00000004)

INVISIBLE

added in API level 1

 

public static final int INVISIBLE

This view is invisible, but it still takes up space for layout purposes. Use with setVisibility(int) and android:visibility.

Constant Value: 4 (0x00000004)

KEEP_SCREEN_ON

added in API level 1

 

public static final int KEEP_SCREEN_ON

View flag indicating that the screen should remain on while the window containing this view is visible to the user. This effectively takes care of automatically setting the WindowManager'sWindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON.

Constant Value: 67108864 (0x04000000)

LAYER_TYPE_HARDWARE

added in API level 11

 

public static final int LAYER_TYPE_HARDWARE

Indicates that the view has a hardware layer. A hardware layer is backed by a hardware specific texture (generally Frame Buffer Objects or FBO on OpenGL hardware) and causes the view to be rendered using Android's hardware rendering pipeline, but only if hardware acceleration is turned on for the view hierarchy. When hardware acceleration is turned off, hardware layers behave exactly as software layers.

A hardware layer is useful to apply a specific color filter and/or blending mode and/or translucency to a view and all its children.

A hardware layer can be used to cache a complex view tree into a texture and reduce the complexity of drawing operations. For instance, when animating a complex view tree with a translation, a hardware layer can be used to render the view tree only once.

A hardware layer can also be used to increase the rendering quality when rotation transformations are applied on a view. It can also be used to prevent potential clipping issues when applying 3D transforms on a view.

See also:

Constant Value: 2 (0x00000002)

LAYER_TYPE_NONE

added in API level 11

 

public static final int LAYER_TYPE_NONE

Indicates that the view does not have a layer.

See also:

Constant Value: 0 (0x00000000)

LAYER_TYPE_SOFTWARE

added in API level 11

 

public static final int LAYER_TYPE_SOFTWARE

Indicates that the view has a software layer. A software layer is backed by a bitmap and causes the view to be rendered using Android's software rendering pipeline, even if hardware acceleration is enabled.

Software layers have various usages:

When the application is not using hardware acceleration, a software layer is useful to apply a specific color filter and/or blending mode and/or translucency to a view and all its children.

When the application is using hardware acceleration, a software layer is useful to render drawing primitives not supported by the hardware accelerated pipeline. It can also be used to cache a complex view tree into a texture and reduce the complexity of drawing operations. For instance, when animating a complex view tree with a translation, a software layer can be used to render the view tree only once.

Software layers should be avoided when the affected view tree updates often. Every update will require to re-render the software layer, which can potentially be slow (particularly when hardware acceleration is turned on since the layer will have to be uploaded into a hardware texture after every update.)

See also:

Constant Value: 1 (0x00000001)

LAYOUT_DIRECTION_INHERIT

added in API level 17

 

public static final int LAYOUT_DIRECTION_INHERIT

Horizontal layout direction of this view is inherited from its parent. Use with setLayoutDirection(int).

Constant Value: 2 (0x00000002)

LAYOUT_DIRECTION_LOCALE

added in API level 17

 

public static final int LAYOUT_DIRECTION_LOCALE

Horizontal layout direction of this view is from deduced from the default language script for the locale. Use with setLayoutDirection(int).

Constant Value: 3 (0x00000003)

LAYOUT_DIRECTION_LTR

added in API level 17

 

public static final int LAYOUT_DIRECTION_LTR

Horizontal layout direction of this view is from Left to Right. Use with setLayoutDirection(int).

Constant Value: 0 (0x00000000)

LAYOUT_DIRECTION_RTL

added in API level 17

 

public static final int LAYOUT_DIRECTION_RTL

Horizontal layout direction of this view is from Right to Left. Use with setLayoutDirection(int).

Constant Value: 1 (0x00000001)

MEASURED_HEIGHT_STATE_SHIFT

added in API level 11

 

public static final int MEASURED_HEIGHT_STATE_SHIFT

Bit shift of MEASURED_STATE_MASK to get to the height bits for functions that combine both width and height into a single int, such as getMeasuredState() and the childState argument of resolveSizeAndState(int, int, int).

Constant Value: 16 (0x00000010)

MEASURED_SIZE_MASK

added in API level 11

 

public static final int MEASURED_SIZE_MASK

Bits of getMeasuredWidthAndState() and getMeasuredWidthAndState() that provide the actual measured size.

Constant Value: 16777215 (0x00ffffff)

MEASURED_STATE_MASK

added in API level 11

 

public static final int MEASURED_STATE_MASK

Bits of getMeasuredWidthAndState() and getMeasuredWidthAndState() that provide the additional state bits.

Constant Value: -16777216 (0xff000000)

MEASURED_STATE_TOO_SMALL

added in API level 11

 

public static final int MEASURED_STATE_TOO_SMALL

Bit of getMeasuredWidthAndState() and getMeasuredWidthAndState() that indicates the measured size is smaller that the space the view would like to have.

Constant Value: 16777216 (0x01000000)

NOT_FOCUSABLE

added in API level 26

 

public static final int NOT_FOCUSABLE

This view does not want keystrokes.

Use with setFocusable(int) and android:focusable.

Constant Value: 0 (0x00000000)

NO_ID

added in API level 1

 

public static final int NO_ID

Used to mark a View that has no ID.

Constant Value: -1 (0xffffffff)

OVER_SCROLL_ALWAYS

added in API level 9

 

public static final int OVER_SCROLL_ALWAYS

Always allow a user to over-scroll this view, provided it is a view that can scroll.

See also:

Constant Value: 0 (0x00000000)

OVER_SCROLL_IF_CONTENT_SCROLLS

added in API level 9

 

public static final int OVER_SCROLL_IF_CONTENT_SCROLLS

Allow a user to over-scroll this view only if the content is large enough to meaningfully scroll, provided it is a view that can scroll.

See also:

Constant Value: 1 (0x00000001)

OVER_SCROLL_NEVER

added in API level 9

 

public static final int OVER_SCROLL_NEVER

Never allow a user to over-scroll this view.

See also:

Constant Value: 2 (0x00000002)

SCREEN_STATE_OFF

added in API level 16

 

public static final int SCREEN_STATE_OFF

Indicates that the screen has changed state and is now off.

See also:

Constant Value: 0 (0x00000000)

SCREEN_STATE_ON

added in API level 16

 

public static final int SCREEN_STATE_ON

Indicates that the screen has changed state and is now on.

See also:

Constant Value: 1 (0x00000001)

SCROLLBARS_INSIDE_INSET

added in API level 1

 

public static final int SCROLLBARS_INSIDE_INSET

The scrollbar style to display the scrollbars inside the padded area, increasing the padding of the view. The scrollbars will not overlap the content area of the view.

Constant Value: 16777216 (0x01000000)

SCROLLBARS_INSIDE_OVERLAY

added in API level 1

 

public static final int SCROLLBARS_INSIDE_OVERLAY

The scrollbar style to display the scrollbars inside the content area, without increasing the padding. The scrollbars will be overlaid with translucency on the view's content.

Constant Value: 0 (0x00000000)

SCROLLBARS_OUTSIDE_INSET

added in API level 1

 

public static final int SCROLLBARS_OUTSIDE_INSET

The scrollbar style to display the scrollbars at the edge of the view, increasing the padding of the view. The scrollbars will only overlap the background, if any.

Constant Value: 50331648 (0x03000000)

SCROLLBARS_OUTSIDE_OVERLAY

added in API level 1

 

public static final int SCROLLBARS_OUTSIDE_OVERLAY

The scrollbar style to display the scrollbars at the edge of the view, without increasing the padding. The scrollbars will be overlaid with translucency.

Constant Value: 33554432 (0x02000000)

SCROLLBAR_POSITION_DEFAULT

added in API level 11

 

public static final int SCROLLBAR_POSITION_DEFAULT

Position the scroll bar at the default position as determined by the system.

Constant Value: 0 (0x00000000)

SCROLLBAR_POSITION_LEFT

added in API level 11

 

public static final int SCROLLBAR_POSITION_LEFT

Position the scroll bar along the left edge.

Constant Value: 1 (0x00000001)

SCROLLBAR_POSITION_RIGHT

added in API level 11

 

public static final int SCROLLBAR_POSITION_RIGHT

Position the scroll bar along the right edge.

Constant Value: 2 (0x00000002)

SCROLL_AXIS_HORIZONTAL

added in API level 21

 

public static final int SCROLL_AXIS_HORIZONTAL

Indicates scrolling along the horizontal axis.

Constant Value: 1 (0x00000001)

SCROLL_AXIS_NONE

added in API level 21

 

public static final int SCROLL_AXIS_NONE

Indicates no axis of view scrolling.

Constant Value: 0 (0x00000000)

SCROLL_AXIS_VERTICAL

added in API level 21

 

public static final int SCROLL_AXIS_VERTICAL

Indicates scrolling along the vertical axis.

Constant Value: 2 (0x00000002)

SCROLL_INDICATOR_BOTTOM

added in API level 23

 

public static final int SCROLL_INDICATOR_BOTTOM

Scroll indicator direction for the bottom edge of the view.

See also:

Constant Value: 2 (0x00000002)

SCROLL_INDICATOR_END

added in API level 23

 

public static final int SCROLL_INDICATOR_END

Scroll indicator direction for the ending edge of the view.

Resolved according to the view's layout direction, see getLayoutDirection() for more information.

See also:

Constant Value: 32 (0x00000020)

SCROLL_INDICATOR_LEFT

added in API level 23

 

public static final int SCROLL_INDICATOR_LEFT

Scroll indicator direction for the left edge of the view.

See also:

Constant Value: 4 (0x00000004)

SCROLL_INDICATOR_RIGHT

added in API level 23

 

public static final int SCROLL_INDICATOR_RIGHT

Scroll indicator direction for the right edge of the view.

See also:

Constant Value: 8 (0x00000008)

SCROLL_INDICATOR_START

added in API level 23

 

public static final int SCROLL_INDICATOR_START

Scroll indicator direction for the starting edge of the view.

Resolved according to the view's layout direction, see getLayoutDirection() for more information.

See also:

Constant Value: 16 (0x00000010)

SCROLL_INDICATOR_TOP

added in API level 23

 

public static final int SCROLL_INDICATOR_TOP

Scroll indicator direction for the top edge of the view.

See also:

Constant Value: 1 (0x00000001)

SOUND_EFFECTS_ENABLED

added in API level 1

 

public static final int SOUND_EFFECTS_ENABLED

View flag indicating whether this view should have sound effects enabled for events such as clicking and touching.

Constant Value: 134217728 (0x08000000)

STATUS_BAR_HIDDEN

added in API level 11

 

public static final int STATUS_BAR_HIDDEN

This constant was deprecated in API level 14.
Use SYSTEM_UI_FLAG_LOW_PROFILE instead.

Constant Value: 1 (0x00000001)

STATUS_BAR_VISIBLE

added in API level 11

 

public static final int STATUS_BAR_VISIBLE

This constant was deprecated in API level 14.
Use SYSTEM_UI_FLAG_VISIBLE instead.

Constant Value: 0 (0x00000000)

SYSTEM_UI_FLAG_FULLSCREEN

added in API level 16

 

public static final int SYSTEM_UI_FLAG_FULLSCREEN

Flag for setSystemUiVisibility(int): View has requested to go into the normal fullscreen mode so that its content can take over the screen while still allowing the user to interact with the application.

This has the same visual effect as WindowManager.LayoutParams.FLAG_FULLSCREEN, meaning that non-critical screen decorations (such as the status bar) will be hidden while the user is in the View's window, focusing the experience on that content. Unlike the window flag, if you are using ActionBar in overlay mode with Window.FEATURE_ACTION_BAR_OVERLAY, then enabling this flag will also hide the action bar.

This approach to going fullscreen is best used over the window flag when it is a transient state -- that is, the application does this at certain points in its user interaction where it wants to allow the user to focus on content, but not as a continuous state. For situations where the application would like to simply stay full screen the entire time (such as a game that wants to take over the screen), the window flag is usually a better approach. The state set here will be removed by the system in various situations (such as the user moving to another application) like the other system UI states.

When using this flag, the application should provide some easy facility for the user to go out of it. A common example would be in an e-book reader, where tapping on the screen brings back whatever screen and UI decorations that had been hidden while the user was immersed in reading the book.

See also:

Constant Value: 4 (0x00000004)

SYSTEM_UI_FLAG_HIDE_NAVIGATION

added in API level 14

 

public static final int SYSTEM_UI_FLAG_HIDE_NAVIGATION

Flag for setSystemUiVisibility(int): View has requested that the system navigation be temporarily hidden.

This is an even less obtrusive state than that called for by SYSTEM_UI_FLAG_LOW_PROFILE; on devices that draw essential navigation controls (Home, Back, and the like) on screen, SYSTEM_UI_FLAG_HIDE_NAVIGATION will cause those to disappear. This is useful (in conjunction with the FLAG_FULLSCREEN and FLAG_LAYOUT_IN_SCREEN window flags) for displaying content using every last pixel on the display.

There is a limitation: because navigation controls are so important, the least user interaction will cause them to reappear immediately. When this happens, both this flag and SYSTEM_UI_FLAG_FULLSCREEN will be cleared automatically, so that both elements reappear at the same time.

See also:

Constant Value: 2 (0x00000002)

SYSTEM_UI_FLAG_IMMERSIVE

added in API level 19

 

public static final int SYSTEM_UI_FLAG_IMMERSIVE

Flag for setSystemUiVisibility(int): View would like to remain interactive when hiding the navigation bar with SYSTEM_UI_FLAG_HIDE_NAVIGATION. If this flag is not set, SYSTEM_UI_FLAG_HIDE_NAVIGATION will be force cleared by the system on any user interaction.

Since this flag is a modifier for SYSTEM_UI_FLAG_HIDE_NAVIGATION, it only has an effect when used in combination with that flag.

Constant Value: 2048 (0x00000800)

SYSTEM_UI_FLAG_IMMERSIVE_STICKY

added in API level 19

 

public static final int SYSTEM_UI_FLAG_IMMERSIVE_STICKY

Flag for setSystemUiVisibility(int): View would like to remain interactive when hiding the status bar with SYSTEM_UI_FLAG_FULLSCREEN and/or hiding the navigation bar with SYSTEM_UI_FLAG_HIDE_NAVIGATION. Use this flag to create an immersive experience while also hiding the system bars. If this flag is not set,SYSTEM_UI_FLAG_HIDE_NAVIGATION will be force cleared by the system on any user interaction, and SYSTEM_UI_FLAG_FULLSCREEN will be force-cleared by the system if the user swipes from the top of the screen.

When system bars are hidden in immersive mode, they can be revealed temporarily with system gestures, such as swiping from the top of the screen. These transient system bars will overlay app’s content, may have some degree of transparency, and will automatically hide after a short timeout.

Since this flag is a modifier for SYSTEM_UI_FLAG_FULLSCREEN and SYSTEM_UI_FLAG_HIDE_NAVIGATION, it only has an effect when used in combination with one or both of those flags.

Constant Value: 4096 (0x00001000)

SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN

added in API level 16

 

public static final int SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN

Flag for setSystemUiVisibility(int): View would like its window to be laid out as if it has requestedSYSTEM_UI_FLAG_FULLSCREEN, even if it currently hasn't. This allows it to avoid artifacts when switching in and out of that mode, at the expense that some of its user interface may be covered by screen decorations when they are shown. You can perform layout of your inner UI elements to account for non-fullscreen system UI through thefitSystemWindows(Rect) method.

Note: on displays that have a DisplayCutout, the window may still be placed differently than if SYSTEM_UI_FLAG_FULLSCREEN was set, if the window's layoutInDisplayCutoutMode isLAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT. To avoid this, use either of the other modes.

See also:

Constant Value: 1024 (0x00000400)

SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION

added in API level 16

 

public static final int SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION

Flag for setSystemUiVisibility(int): View would like its window to be laid out as if it has requestedSYSTEM_UI_FLAG_HIDE_NAVIGATION, even if it currently hasn't. This allows it to avoid artifacts when switching in and out of that mode, at the expense that some of its user interface may be covered by screen decorations when they are shown. You can perform layout of your inner UI elements to account for the navigation system UI through thefitSystemWindows(Rect) method.

Constant Value: 512 (0x00000200)

SYSTEM_UI_FLAG_LAYOUT_STABLE

added in API level 16

 

public static final int SYSTEM_UI_FLAG_LAYOUT_STABLE

Flag for setSystemUiVisibility(int): When using other layout flags, we would like a stable view of the content insets given to fitSystemWindows(Rect). This means that the insets seen there will always represent the worst case that the application can expect as a continuous state. In the stock Android UI this is the space for the system bar, nav bar, and status bar, but not more transient elements such as an input method. The stable layout your UI sees is based on the system UI modes you can switch to. That is, if you specify SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN then you will get a stable layout for changes of the SYSTEM_UI_FLAG_FULLSCREEN mode; if you specifySYSTEM_UI_FLAG_LAYOUT_FULLSCREEN and SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, then you can transition to SYSTEM_UI_FLAG_FULLSCREEN and SYSTEM_UI_FLAG_HIDE_NAVIGATION with a stable layout. (Note that you should avoid using SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION by itself.) If you have set the window flag WindowManager.LayoutParams.FLAG_FULLSCREEN to hide the status bar (instead of using SYSTEM_UI_FLAG_FULLSCREEN), then a hidden status bar will be considered a "stable" state for purposes here. This allows your UI to continually hide the status bar, while still using the system UI flags to hide the action bar while still retaining a stable layout. Note that changing the window fullscreen flag will never provide a stable layout for a clean transition.

If you are using ActionBar in overlay mode with Window.FEATURE_ACTION_BAR_OVERLAY, this flag will also impact the insets it adds to those given to the application.

Constant Value: 256 (0x00000100)

SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR

added in API level 26

 

public static final int SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR

Flag for setSystemUiVisibility(int): Requests the navigation bar to draw in a mode that is compatible with light navigation bar backgrounds.

For this to take effect, the window must request FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS but notFLAG_TRANSLUCENT_NAVIGATION.

See also:

Constant Value: 16 (0x00000010)

SYSTEM_UI_FLAG_LIGHT_STATUS_BAR

added in API level 23

 

public static final int SYSTEM_UI_FLAG_LIGHT_STATUS_BAR

Flag for setSystemUiVisibility(int): Requests the status bar to draw in a mode that is compatible with light status bar backgrounds.

For this to take effect, the window must request FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS but notFLAG_TRANSLUCENT_STATUS.

See also:

Constant Value: 8192 (0x00002000)

SYSTEM_UI_FLAG_LOW_PROFILE

added in API level 14

 

public static final int SYSTEM_UI_FLAG_LOW_PROFILE

Flag for setSystemUiVisibility(int): View has requested the system UI to enter an unobtrusive "low profile" mode.

This is for use in games, book readers, video players, or any other "immersive" application where the usual system chrome is deemed too distracting.

In low profile mode, the status bar and/or navigation icons may dim.

See also:

Constant Value: 1 (0x00000001)

SYSTEM_UI_FLAG_VISIBLE

added in API level 14

 

public static final int SYSTEM_UI_FLAG_VISIBLE

Special constant for setSystemUiVisibility(int): View has requested the system UI (status bar) to be visible (the default).

See also:

Constant Value: 0 (0x00000000)

SYSTEM_UI_LAYOUT_FLAGS

added in API level 16

 

public static final int SYSTEM_UI_LAYOUT_FLAGS

Flags that can impact the layout in relation to system UI.

Constant Value: 1536 (0x00000600)

TEXT_ALIGNMENT_CENTER

added in API level 17

 

public static final int TEXT_ALIGNMENT_CENTER

Center the paragraph, e.g. ALIGN_CENTER. Use with setTextAlignment(int)

Constant Value: 4 (0x00000004)

TEXT_ALIGNMENT_GRAVITY

added in API level 17

 

public static final int TEXT_ALIGNMENT_GRAVITY

Default for the root view. The gravity determines the text alignment, ALIGN_NORMAL, ALIGN_CENTER, or ALIGN_OPPOSITE, which are relative to each paragraph’s text direction. Use with setTextAlignment(int)

Constant Value: 1 (0x00000001)

TEXT_ALIGNMENT_INHERIT

added in API level 16

 

public static final int TEXT_ALIGNMENT_INHERIT

Default text alignment. The text alignment of this View is inherited from its parent. Use with setTextAlignment(int)

Constant Value: 0 (0x00000000)

TEXT_ALIGNMENT_TEXT_END

added in API level 17

 

public static final int TEXT_ALIGNMENT_TEXT_END

Align to the end of the paragraph, e.g. ALIGN_OPPOSITE. Use with setTextAlignment(int)

Constant Value: 3 (0x00000003)

TEXT_ALIGNMENT_TEXT_START

added in API level 17

 

public static final int TEXT_ALIGNMENT_TEXT_START

Align to the start of the paragraph, e.g. ALIGN_NORMAL. Use with setTextAlignment(int)

Constant Value: 2 (0x00000002)

TEXT_ALIGNMENT_VIEW_END

added in API level 17

 

public static final int TEXT_ALIGNMENT_VIEW_END

Align to the end of the view, which is ALIGN_RIGHT if the view’s resolved layoutDirection is LTR, and ALIGN_LEFT otherwise. Use with setTextAlignment(int)

Constant Value: 6 (0x00000006)

TEXT_ALIGNMENT_VIEW_START

added in API level 17

 

public static final int TEXT_ALIGNMENT_VIEW_START

Align to the start of the view, which is ALIGN_LEFT if the view’s resolved layoutDirection is LTR, and ALIGN_RIGHT otherwise. Use with setTextAlignment(int)

Constant Value: 5 (0x00000005)

TEXT_DIRECTION_ANY_RTL

added in API level 17

 

public static final int TEXT_DIRECTION_ANY_RTL

Text direction is using "any-RTL" algorithm. The paragraph direction is RTL if it contains any strong RTL character, otherwise it is LTR if it contains any strong LTR characters. If there are neither, the paragraph direction is the view's resolved layout direction.

Constant Value: 2 (0x00000002)

TEXT_DIRECTION_FIRST_STRONG

added in API level 17

 

public static final int TEXT_DIRECTION_FIRST_STRONG

Text direction is using "first strong algorithm". The first strong directional character determines the paragraph direction. If there is no strong directional character, the paragraph direction is the view's resolved layout direction.

Constant Value: 1 (0x00000001)

TEXT_DIRECTION_FIRST_STRONG_LTR

added in API level 23

 

public static final int TEXT_DIRECTION_FIRST_STRONG_LTR

Text direction is using "first strong algorithm". The first strong directional character determines the paragraph direction. If there is no strong directional character, the paragraph direction is LTR.

Constant Value: 6 (0x00000006)

TEXT_DIRECTION_FIRST_STRONG_RTL

added in API level 23

 

public static final int TEXT_DIRECTION_FIRST_STRONG_RTL

Text direction is using "first strong algorithm". The first strong directional character determines the paragraph direction. If there is no strong directional character, the paragraph direction is RTL.

Constant Value: 7 (0x00000007)

TEXT_DIRECTION_INHERIT

added in API level 17

 

public static final int TEXT_DIRECTION_INHERIT

Text direction is inherited through ViewGroup

Constant Value: 0 (0x00000000)

TEXT_DIRECTION_LOCALE

added in API level 17

 

public static final int TEXT_DIRECTION_LOCALE

Text direction is coming from the system Locale.

Constant Value: 5 (0x00000005)

TEXT_DIRECTION_LTR

added in API level 17

 

public static final int TEXT_DIRECTION_LTR

Text direction is forced to LTR.

Constant Value: 3 (0x00000003)

TEXT_DIRECTION_RTL

added in API level 17

 

public static final int TEXT_DIRECTION_RTL

Text direction is forced to RTL.

Constant Value: 4 (0x00000004)

VIEW_LOG_TAG

added in API level 1

 

protected static final String VIEW_LOG_TAG

The logging tag used by this class with android.util.Log.

Constant Value: "View"

VISIBLE

added in API level 1

 

public static final int VISIBLE

This view is visible. Use with setVisibility(int) and android:visibility.

Constant Value: 0 (0x00000000)

Fields

ALPHA

added in API level 14

 

public static final Property<ViewFloat> ALPHA

A Property wrapper around the alpha functionality handled by the setAlpha(float) and getAlpha() methods.

EMPTY_STATE_SET

added in API level 1

 

protected static final int[] EMPTY_STATE_SET

Indicates the view has no states set. States are used with Drawable to change the drawing of the view depending on its state.

See also:

ENABLED_FOCUSED_SELECTED_STATE_SET

added in API level 1

 

protected static final int[] ENABLED_FOCUSED_SELECTED_STATE_SET

Indicates the view is enabled, focused and selected.

See also:

ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET

added in API level 1

 

protected static final int[] ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET

Indicates the view is enabled, focused, selected and its window has the focus.

See also:

ENABLED_FOCUSED_STATE_SET

added in API level 1

 

protected static final int[] ENABLED_FOCUSED_STATE_SET

Indicates the view is enabled and has the focus.

See also:

ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET

added in API level 1

 

protected static final int[] ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET

Indicates the view is enabled, focused and its window has the focus.

See also:

ENABLED_SELECTED_STATE_SET

added in API level 1

 

protected static final int[] ENABLED_SELECTED_STATE_SET

Indicates the view is enabled and selected.

See also:

ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET

added in API level 1

 

protected static final int[] ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET

Indicates the view is enabled, selected and its window has the focus.

See also:

ENABLED_STATE_SET

added in API level 1

 

protected static final int[] ENABLED_STATE_SET

Indicates the view is enabled. States are used with Drawable to change the drawing of the view depending on its state.

See also:

ENABLED_WINDOW_FOCUSED_STATE_SET

added in API level 1

 

protected static final int[] ENABLED_WINDOW_FOCUSED_STATE_SET

Indicates the view is enabled and that its window has focus.

See also:

FOCUSED_SELECTED_STATE_SET

added in API level 1

 

protected static final int[] FOCUSED_SELECTED_STATE_SET

Indicates the view is focused and selected.

See also:

FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET

added in API level 1

 

protected static final int[] FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET

Indicates the view is focused, selected and its window has the focus.

See also:

FOCUSED_STATE_SET

added in API level 1

 

protected static final int[] FOCUSED_STATE_SET

Indicates the view is focused. States are used with Drawable to change the drawing of the view depending on its state.

See also:

FOCUSED_WINDOW_FOCUSED_STATE_SET

added in API level 1

 

protected static final int[] FOCUSED_WINDOW_FOCUSED_STATE_SET

Indicates the view has the focus and that its window has the focus.

See also:

PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET

added in API level 1

 

protected static final int[] PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET

Indicates the view is pressed, enabled, focused and selected.

See also:

PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET

added in API level 1

 

protected static final int[] PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET

Indicates the view is pressed, enabled, focused, selected and its window has the focus.

See also:

PRESSED_ENABLED_FOCUSED_STATE_SET

added in API level 1

 

protected static final int[] PRESSED_ENABLED_FOCUSED_STATE_SET

Indicates the view is pressed, enabled and focused.

See also:

PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET

added in API level 1

 

protected static final int[] PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET

Indicates the view is pressed, enabled, focused and its window has the focus.

See also:

PRESSED_ENABLED_SELECTED_STATE_SET

added in API level 1

 

protected static final int[] PRESSED_ENABLED_SELECTED_STATE_SET

Indicates the view is pressed, enabled and selected.

See also:

PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET

added in API level 1

 

protected static final int[] PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET

Indicates the view is pressed, enabled, selected and its window has the focus.

See also:

PRESSED_ENABLED_STATE_SET

added in API level 1

 

protected static final int[] PRESSED_ENABLED_STATE_SET

Indicates the view is pressed and enabled.

See also:

PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET

added in API level 1

 

protected static final int[] PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET

Indicates the view is pressed, enabled and its window has the focus.

See also:

PRESSED_FOCUSED_SELECTED_STATE_SET

added in API level 1

 

protected static final int[] PRESSED_FOCUSED_SELECTED_STATE_SET

Indicates the view is pressed, focused and selected.

See also:

PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET

added in API level 1

 

protected static final int[] PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET

Indicates the view is pressed, focused, selected and its window has the focus.

See also:

PRESSED_FOCUSED_STATE_SET

added in API level 1

 

protected static final int[] PRESSED_FOCUSED_STATE_SET

Indicates the view is pressed and focused.

See also:

PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET

added in API level 1

 

protected static final int[] PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET

Indicates the view is pressed, focused and its window has the focus.

See also:

PRESSED_SELECTED_STATE_SET

added in API level 1

 

protected static final int[] PRESSED_SELECTED_STATE_SET

Indicates the view is pressed and selected.

See also:

PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET

added in API level 1

 

protected static final int[] PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET

Indicates the view is pressed, selected and its window has the focus.

See also:

PRESSED_STATE_SET

added in API level 19

 

protected static final int[] PRESSED_STATE_SET

Indicates the view is pressed. States are used with Drawable to change the drawing of the view depending on its state.

See also:

PRESSED_WINDOW_FOCUSED_STATE_SET

added in API level 1

 

protected static final int[] PRESSED_WINDOW_FOCUSED_STATE_SET

Indicates the view is pressed and its window has the focus.

See also:

ROTATION

added in API level 14

 

public static final Property<ViewFloat> ROTATION

A Property wrapper around the rotation functionality handled by the setRotation(float) and getRotation()methods.

ROTATION_X

added in API level 14

 

public static final Property<ViewFloat> ROTATION_X

A Property wrapper around the rotationX functionality handled by the setRotationX(float) and getRotationX()methods.

ROTATION_Y

added in API level 14

 

public static final Property<ViewFloat> ROTATION_Y

A Property wrapper around the rotationY functionality handled by the setRotationY(float) and getRotationY()methods.

SCALE_X

added in API level 14

 

public static final Property<ViewFloat> SCALE_X

A Property wrapper around the scaleX functionality handled by the setScaleX(float) and getScaleX() methods.

SCALE_Y

added in API level 14

 

public static final Property<ViewFloat> SCALE_Y

A Property wrapper around the scaleY functionality handled by the setScaleY(float) and getScaleY() methods.

SELECTED_STATE_SET

added in API level 1

 

protected static final int[] SELECTED_STATE_SET

Indicates the view is selected. States are used with Drawable to change the drawing of the view depending on its state.

See also:

SELECTED_WINDOW_FOCUSED_STATE_SET

added in API level 1

 

protected static final int[] SELECTED_WINDOW_FOCUSED_STATE_SET

Indicates the view is selected and that its window has the focus.

See also:

TRANSLATION_X

added in API level 14

 

public static final Property<ViewFloat> TRANSLATION_X

A Property wrapper around the translationX functionality handled by the setTranslationX(float) and getTranslationX() methods.

TRANSLATION_Y

added in API level 14

 

public static final Property<ViewFloat> TRANSLATION_Y

A Property wrapper around the translationY functionality handled by the setTranslationY(float) and getTranslationY() methods.

TRANSLATION_Z

added in API level 21

 

public static final Property<ViewFloat> TRANSLATION_Z

A Property wrapper around the translationZ functionality handled by the setTranslationZ(float) and getTranslationZ() methods.

WINDOW_FOCUSED_STATE_SET

added in API level 1

 

protected static final int[] WINDOW_FOCUSED_STATE_SET

Indicates the view's window has focus. States are used with Drawable to change the drawing of the view depending on its state.

See also:

X

added in API level 14

 

public static final Property<ViewFloat> X

A Property wrapper around the x functionality handled by the setX(float) and getX() methods.

Y

added in API level 14

 

public static final Property<ViewFloat> Y

A Property wrapper around the y functionality handled by the setY(float) and getY() methods.

Z

added in API level 21

 

public static final Property<ViewFloat> Z

A Property wrapper around the z functionality handled by the setZ(float) and getZ() methods.

Public constructors

View

added in API level 1

 

public View (Context context)

Simple constructor to use when creating a view from code.

Parameters
context Context: The Context the view is running in, through which it can access the current theme, resources, etc.

View

added in API level 1

 

public View (Context context, AttributeSet attrs)

Constructor that is called when inflating a view from XML. This is called when a view is being constructed from an XML file, supplying attributes that were specified in the XML file. This version uses a default style of 0, so the only attribute values applied are those in the Context's Theme and the given AttributeSet.

The method onFinishInflate() will be called after all children have been added.

Parameters
context Context: The Context the view is running in, through which it can access the current theme, resources, etc.
attrs AttributeSet: The attributes of the XML tag that is inflating the view.

This value may be null.

See also:

View

added in API level 1

 

public View (Context context, AttributeSet attrs, int defStyleAttr)

Perform inflation from XML and apply a class-specific base style from a theme attribute. This constructor of View allows subclasses to use their own base style when they are inflating. For example, a Button class's constructor would call this version of the super class constructor and supply R.attr.buttonStyle for defStyleAttr; this allows the theme's button style to modify all of the base view attributes (in particular its background) as well as the Button class's attributes.

Parameters
context Context: The Context the view is running in, through which it can access the current theme, resources, etc.
attrs AttributeSet: The attributes of the XML tag that is inflating the view.

This value may be null.

defStyleAttr int: An attribute in the current theme that contains a reference to a style resource that supplies default values for the view. Can be 0 to not look for defaults.

See also:

View

added in API level 21

 

public View (Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)

Perform inflation from XML and apply a class-specific base style from a theme attribute or style resource. This constructor of View allows subclasses to use their own base style when they are inflating.

When determining the final value of a particular attribute, there are four inputs that come into play:

  1. Any attribute values in the given AttributeSet.
  2. The style resource specified in the AttributeSet (named "style").
  3. The default style specified by defStyleAttr.
  4. The default style specified by defStyleRes.
  5. The base values in this theme.

Each of these inputs is considered in-order, with the first listed taking precedence over the following ones. In other words, if in the AttributeSet you have supplied <Button * textColor="#ff000000"> , then the button's text will always be black, regardless of what is specified in any of the styles.

Parameters
context Context: The Context the view is running in, through which it can access the current theme, resources, etc.
attrs AttributeSet: The attributes of the XML tag that is inflating the view.

This value may be null.

defStyleAttr int: An attribute in the current theme that contains a reference to a style resource that supplies default values for the view. Can be 0 to not look for defaults.
defStyleRes int: A resource identifier of a style resource that supplies default values for the view, used only if defStyleAttr is 0 or can not be found in the theme. Can be 0 to not look for defaults.

See also:

Public methods

addChildrenForAccessibility

added in API level 16

 

public void addChildrenForAccessibility (ArrayList<View> outChildren)

Adds the children of this View relevant for accessibility to the given list as output. Since some Views are not important for accessibility the added child views are not necessarily direct children of this view, rather they are the first level of descendants important for accessibility.

Parameters
outChildren ArrayList: The output list that will receive children for accessibility.

addExtraDataToAccessibilityNodeInfo

added in API level 26

 

public void addExtraDataToAccessibilityNodeInfo (AccessibilityNodeInfo info, String extraDataKey, Bundle arguments)

Adds extra data to an AccessibilityNodeInfo based on an explicit request for the additional data.

This method only needs overloading if the node is marked as having extra data available.

Parameters
info AccessibilityNodeInfo: The info to which to add the extra data. Never null.
extraDataKey String: A key specifying the type of extra data to add to the info. The extra data should be added to the Bundle returned by the info's AccessibilityNodeInfo.getExtras() method. Never null.
arguments Bundle: A Bundle holding any arguments relevant for this request. May be null if the service provided no arguments.

See also:

addFocusables

added in API level 1

 

public void addFocusables (ArrayList<View> views, int direction)

Add any focusable views that are descendants of this view (possibly including this view if it is focusable itself) to views. If we are in touch mode, only add views that are also focusable in touch mode.

Parameters
views ArrayList: Focusable views found so far
direction int: The direction of the focus

Value is FOCUS_BACKWARDFOCUS_FORWARDFOCUS_LEFTFOCUS_UPFOCUS_RIGHT or FOCUS_DOWN.

addFocusables

added in API level 4

 

public void addFocusables (ArrayList<View> views, int direction, int focusableMode)

Adds any focusable views that are descendants of this view (possibly including this view if it is focusable itself) to views. This method adds all focusable views regardless if we are in touch mode or only views focusable in touch mode if we are in touch mode or only views that can take accessibility focus if accessibility is enabled depending on the focusable mode parameter.

Parameters
views ArrayList: Focusable views found so far or null if all we are interested is the number of focusables.
direction int: The direction of the focus.

Value is FOCUS_BACKWARDFOCUS_FORWARDFOCUS_LEFTFOCUS_UPFOCUS_RIGHT or FOCUS_DOWN.

focusableMode int: The type of focusables to be added.

Value is either 0 or combination of FOCUSABLES_ALL or FOCUSABLES_TOUCH_MODE.

See also:

addKeyboardNavigationClusters

added in API level 26

 

public void addKeyboardNavigationClusters (Collection<View> views, int direction)

Adds any keyboard navigation cluster roots that are descendants of this view (possibly including this view if it is a cluster root itself) to views.

Parameters
views Collection: Keyboard navigation cluster roots found so far

This value must never be null.

direction int: Direction to look

addOnAttachStateChangeListener

added in API level 12

 

public void addOnAttachStateChangeListener (View.OnAttachStateChangeListener listener)

Add a listener for attach state changes. This listener will be called whenever this view is attached or detached from a window. Remove the listener using removeOnAttachStateChangeListener(OnAttachStateChangeListener).

Parameters
listener View.OnAttachStateChangeListener: Listener to attach

See also:

addOnLayoutChangeListener

added in API level 11

 

public void addOnLayoutChangeListener (View.OnLayoutChangeListener listener)

Add a listener that will be called when the bounds of the view change due to layout processing.

Parameters
listener View.OnLayoutChangeListener: The listener that will be called when layout bounds change.

addOnUnhandledKeyEventListener

added in API level 28

 

public void addOnUnhandledKeyEventListener (View.OnUnhandledKeyEventListener listener)

Adds a listener which will receive unhandled KeyEvents. This must be called on the UI thread.

Parameters
listener View.OnUnhandledKeyEventListener: a receiver of unhandled KeyEvents.

See also:

addTouchables

added in API level 1

 

public void addTouchables (ArrayList<View> views)

Add any touchable views that are descendants of this view (possibly including this view if it is touchable itself) to views.

Parameters
views ArrayList: Touchable views found so far

animate

added in API level 12

 

public ViewPropertyAnimator animate ()

This method returns a ViewPropertyAnimator object, which can be used to animate specific properties on this View.

Returns
ViewPropertyAnimator ViewPropertyAnimator The ViewPropertyAnimator associated with this View.

announceForAccessibility

added in API level 16

 

public void announceForAccessibility (CharSequence text)

Convenience method for sending a AccessibilityEvent.TYPE_ANNOUNCEMENT AccessibilityEvent to make an announcement which is related to some sort of a context change for which none of the events representing UI transitions is a good fit. For example, announcing a new page in a book. If accessibility is not enabled this method does nothing.

Parameters
text CharSequence: The announcement text.

autofill

added in API level 26

 

public void autofill (AutofillValue value)

Automatically fills the content of this view with the value.

Views support the Autofill Framework mainly by:

  • Providing the metadata defining what the view means and how it can be autofilled.
  • Implementing the methods that autofill the view.

onProvideAutofillStructure(ViewStructure, int) is responsible for the former, this method is responsible for latter.

This method does nothing by default, but when overridden it typically:

  1. Checks if the provided value matches the expected type (which is defined by getAutofillType()).
  2. Checks if the view is editable - if it isn't, it should return right away.
  3. Call the proper getter method on AutofillValue to fetch the actual value.
  4. Pass the actual value to the equivalent setter in the view.

For example, a text-field view could implement the method this way:

 

 @Override
 public void autofill(AutofillValue value) {
   if (!value.isText() || !this.isEditable()) {
      return;
   }
   CharSequence text = value.getTextValue();
   if (text != null) {
     this.setText(text);
   }
 }
 

If the value is updated asynchronously, the next call to AutofillManager.notifyValueChanged(View) must happen after the value was changed to the autofilled value. If not, the view will not be considered autofilled.

Note: After this method is called, the value returned by getAutofillValue() must be equal to the value passed to it, otherwise the view will not be highlighted as autofilled.

Parameters
value AutofillValue: value to be autofilled.

autofill

added in API level 26

 

public void autofill (SparseArray<AutofillValue> values)

Automatically fills the content of the virtual children within this view.

Views with virtual children support the Autofill Framework mainly by:

  • Providing the metadata defining what the virtual children mean and how they can be autofilled.
  • Implementing the methods that autofill the virtual children.

onProvideAutofillVirtualStructure(ViewStructure, int) is responsible for the former, this method is responsible for the latter - see autofill(AutofillValue) andonProvideAutofillVirtualStructure(ViewStructure, int) for more info about autofill.

If a child value is updated asynchronously, the next call to AutofillManager.notifyValueChanged(View, int, AutofillValue) must happen after the value was changed to the autofilled value. If not, the child will not be considered autofilled.

Note: To indicate that a virtual view was autofilled, ?android:attr/autofilledHighlight should be drawn over it until the data changes.

Related XML Attributes:

Parameters
values SparseArray: map of values to be autofilled, keyed by virtual child id.

This value must never be null.

bringToFront

added in API level 1

 

public void bringToFront ()

Change the view's z order in the tree, so it's on top of other sibling views. This ordering change may affect layout, if the parent container uses an order-dependent layout scheme (e.g., LinearLayout). Prior to Build.VERSION_CODES.KITKATthis method should be followed by calls to requestLayout() and invalidate() on the view's parent to force the parent to redraw with the new child ordering.

See also:

buildDrawingCache

added in API level 4

 

public void buildDrawingCache (boolean autoScale)

This method was deprecated in API level 28.
The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

Forces the drawing cache to be built if the drawing cache is invalid.

If you call buildDrawingCache() manually without calling setDrawingCacheEnabled(true), you should cleanup the cache by calling destroyDrawingCache() afterwards.

Note about auto scaling in compatibility mode: When auto scaling is not enabled, this method will create a bitmap of the same size as this view. Because this bitmap will be drawn scaled by the parent ViewGroup, the result on screen might show scaling artifacts. To avoid such artifacts, you should call this method by setting the auto scaling to true. Doing so, however, will generate a bitmap of a different size than the view. This implies that your application must be able to handle this size.

You should avoid calling this method when hardware acceleration is enabled. If you do not need the drawing cache bitmap, calling this method will increase memory usage and cause the view to be rendered in software once, thus negatively impacting performance.

Parameters
autoScale boolean

See also:

buildDrawingCache

added in API level 1

 

public void buildDrawingCache ()

This method was deprecated in API level 28.
The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

Calling this method is equivalent to calling buildDrawingCache(false).

See also:

buildLayer

added in API level 12

 

public void buildLayer ()

Forces this view's layer to be created and this view to be rendered into its layer. If this view's layer type is set to LAYER_TYPE_NONE, invoking this method will have no effect. This method can for instance be used to render a view into its layer before starting an animation. If this view is complex, rendering into the layer before starting the animation will avoid skipping frames.

Throws
IllegalStateException If this view is not attached to a window

See also:

callOnClick

added in API level 15

 

public boolean callOnClick ()

Directly call any attached OnClickListener. Unlike performClick(), this only calls the listener, and does not do any associated clicking actions like reporting an accessibility event.

Returns
boolean True there was an assigned OnClickListener that was called, false otherwise is returned.

canResolveLayoutDirection

added in API level 19

 

public boolean canResolveLayoutDirection ()

Check if layout direction resolution can be done.

Returns
boolean true if layout direction resolution can be done otherwise return false.

canResolveTextAlignment

added in API level 19

 

public boolean canResolveTextAlignment ()

Check if text alignment resolution can be done.

Returns
boolean true if text alignment resolution can be done otherwise return false.

canResolveTextDirection

added in API level 19

 

public boolean canResolveTextDirection ()

Check if text direction resolution can be done.

Returns
boolean true if text direction resolution can be done otherwise return false.

canScrollHorizontally

added in API level 14

 

public boolean canScrollHorizontally (int direction)

Check if this view can be scrolled horizontally in a certain direction.

Parameters
direction int: Negative to check scrolling left, positive to check scrolling right.
Returns
boolean true if this view can be scrolled in the specified direction, false otherwise.

canScrollVertically

added in API level 14

 

public boolean canScrollVertically (int direction)

Check if this view can be scrolled vertically in a certain direction.

Parameters
direction int: Negative to check scrolling up, positive to check scrolling down.
Returns
boolean true if this view can be scrolled in the specified direction, false otherwise.

cancelDragAndDrop

added in API level 24

 

public final void cancelDragAndDrop ()

Cancels an ongoing drag and drop operation.

DragEvent object with DragEvent.getAction() value of DragEvent.ACTION_DRAG_ENDED andDragEvent.getResult() value of false will be sent to every View that received DragEvent.ACTION_DRAG_STARTEDeven if they are not currently visible.

This method can be called on any View in the same window as the View on which startDragAndDrop was called.

cancelLongPress

added in API level 1

 

public void cancelLongPress ()

Cancels a pending long press. Your subclass can use this if you want the context menu to come up if the user presses and holds at the same place, but you don't want it to come up if they press and then move around enough to cause scrolling.

cancelPendingInputEvents

added in API level 19

 

public final void cancelPendingInputEvents ()

Cancel any deferred high-level input events that were previously posted to the event queue.

Many views post high-level events such as click handlers to the event queue to run deferred in order to preserve a desired user experience - clearing visible pressed states before executing, etc. This method will abort any events of this nature that are currently in flight.

Custom views that generate their own high-level deferred input events should overrideonCancelPendingInputEvents() and remove those pending events from the queue.

This will also cancel pending input events for any child views.

Note that this may not be sufficient as a debouncing strategy for clicks in all cases. This will not impact newer events posted after this call that may occur as a result of lower-level input events still waiting in the queue. If you are trying to prevent double-submitted events for the duration of some sort of asynchronous transaction you should also take other steps to protect against unexpected double inputs e.g. calling setEnabled(false) and re-enabling the view when the transaction completes, tracking already submitted transaction IDs, etc.

checkInputConnectionProxy

added in API level 3

 

public boolean checkInputConnectionProxy (View view)

Called by the InputMethodManager when a view who is not the current input connection target is trying to make a call on the manager. The default implementation returns false; you can override this to return true for certain views if you are performing InputConnection proxying to them.

Parameters
view View: The View that is making the InputMethodManager call.
Returns
boolean Return true to allow the call, false to reject.

clearAnimation

added in API level 1

 

public void clearAnimation ()

Cancels any animations for this view.

clearFocus

added in API level 1

 

public void clearFocus ()

Called when this view wants to give up focus. If focus is cleared onFocusChanged(boolean, int, android.graphics.Rect) is called.

Note: When not in touch-mode, the framework will try to give focus to the first focusable View from the top after focus is cleared. Hence, if this View is the first from the top that can take focus, then all callbacks related to clearing focus will be invoked after which the framework will give focus to this view.

combineMeasuredStates

added in API level 11

 

public static int combineMeasuredStates (int curState, int newState)

Merge two states as returned by getMeasuredState().

Parameters
curState int: The current state as returned from a view or the result of combining multiple views.
newState int: The new view state to combine.
Returns
int Returns a new integer reflecting the combination of the two states.

computeScroll

added in API level 1

 

public void computeScroll ()

Called by a parent to request that a child update its values for mScrollX and mScrollY if necessary. This will typically be done if the child is animating a scroll using a Scroller object.

computeSystemWindowInsets

added in API level 21

 

public WindowInsets computeSystemWindowInsets (WindowInsets in, Rect outLocalInsets)

Compute insets that should be consumed by this view and the ones that should propagate to those under it.

Parameters
in WindowInsets: Insets currently being processed by this View, likely received as a parameter to onApplyWindowInsets(WindowInsets).
outLocalInsets Rect: A Rect that will receive the insets that should be consumed by this view
Returns
WindowInsets Insets that should be passed along to views under this one

createAccessibilityNodeInfo

added in API level 14

 

public AccessibilityNodeInfo createAccessibilityNodeInfo ()

Returns an AccessibilityNodeInfo representing this view from the point of view of an AccessibilityService. This method is responsible for obtaining an accessibility node info from a pool of reusable instances and callingonInitializeAccessibilityNodeInfo(AccessibilityNodeInfo) on this view to initialize the former.

Note: The client is responsible for recycling the obtained instance by calling AccessibilityNodeInfo.recycle() to minimize object creation.

Returns
AccessibilityNodeInfo A populated AccessibilityNodeInfo.

See also:

createContextMenu

added in API level 1

 

public void createContextMenu (ContextMenu menu)

Show the context menu for this view. It is not safe to hold on to the menu after returning from this method. You should normally not overload this method. Overload onCreateContextMenu(ContextMenu) or define anView.OnCreateContextMenuListener to add items to the context menu.

Parameters
menu ContextMenu: The context menu to populate

destroyDrawingCache

added in API level 1

 

public void destroyDrawingCache ()

This method was deprecated in API level 28.
The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

Frees the resources used by the drawing cache. If you call buildDrawingCache() manually without callingsetDrawingCacheEnabled(true), you should cleanup the cache with this method afterwards.

See also:

dispatchApplyWindowInsets

added in API level 20

 

public WindowInsets dispatchApplyWindowInsets (WindowInsets insets)

Request to apply the given window insets to this view or another view in its subtree.

This method should be called by clients wishing to apply insets corresponding to areas obscured by window decorations or overlays. This can include the status and navigation bars, action bars, input methods and more. New inset categories may be added in the future. The method returns the insets provided minus any that were applied by this view or its children.

Clients wishing to provide custom behavior should override the onApplyWindowInsets(WindowInsets) method or alternatively provide a View.OnApplyWindowInsetsListener via the setOnApplyWindowInsetsListener method.

This method replaces the older fitSystemWindows method.

Parameters
insets WindowInsets: Insets to apply
Returns
WindowInsets The provided insets minus the insets that were consumed

dispatchCapturedPointerEvent

added in API level 26

 

public boolean dispatchCapturedPointerEvent (MotionEvent event)

Pass a captured pointer event down to the focused view.

Parameters
event MotionEvent: The motion event to be dispatched.
Returns
boolean True if the event was handled by the view, false otherwise.

dispatchConfigurationChanged

added in API level 8

 

public void dispatchConfigurationChanged (Configuration newConfig)

Dispatch a notification about a resource configuration change down the view hierarchy. ViewGroups should override to route to their children.

Parameters
newConfig Configuration: The new resource configuration.

See also:

dispatchDisplayHint

added in API level 8

 

public void dispatchDisplayHint (int hint)

Dispatch a hint about whether this view is displayed. For instance, when a View moves out of the screen, it might receives a display hint indicating the view is not displayed. Applications should not rely on this hint as there is no guarantee that they will receive one.

Parameters
hint int: A hint about whether or not this view is displayed: VISIBLE or INVISIBLE.

dispatchDragEvent

added in API level 11

 

public boolean dispatchDragEvent (DragEvent event)

Detects if this View is enabled and has a drag event listener. If both are true, then it calls the drag event listener with theDragEvent it received. If the drag event listener returns true, then dispatchDragEvent() returns true.

For all other cases, the method calls the onDragEvent() drag event handler method and returns its result.

This ensures that a drag event is always consumed, even if the View does not have a drag event listener. However, if the View has a listener and the listener returns true, then onDragEvent() is not called.

Parameters
event DragEvent
Returns
boolean

dispatchDrawableHotspotChanged

added in API level 22

 

public void dispatchDrawableHotspotChanged (float x, float y)

Dispatches drawableHotspotChanged to all of this View's children.

Parameters
x float: hotspot x coordinate
y float: hotspot y coordinate

See also:

dispatchFinishTemporaryDetach

added in API level 24

 

public void dispatchFinishTemporaryDetach ()

Dispatch onFinishTemporaryDetach() to this View and its direct children if this is a container View.

If you override this method you must call through to the superclass implementation.

dispatchGenericMotionEvent

added in API level 12

 

public boolean dispatchGenericMotionEvent (MotionEvent event)

Dispatch a generic motion event.

Generic motion events with source class InputDevice.SOURCE_CLASS_POINTER are delivered to the view under the pointer. All other generic motion events are delivered to the focused view. Hover events are handled specially and are delivered to onHoverEvent(MotionEvent).

Parameters
event MotionEvent: The motion event to be dispatched.
Returns
boolean True if the event was handled by the view, false otherwise.

dispatchKeyEvent

added in API level 1

 

public boolean dispatchKeyEvent (KeyEvent event)

Dispatch a key event to the next view on the focus path. This path runs from the top of the view tree down to the currently focused view. If this view has focus, it will dispatch to itself. Otherwise it will dispatch the next node down the focus path. This method also fires any key listeners.

Parameters
event KeyEvent: The key event to be dispatched.
Returns
boolean True if the event was handled, false otherwise.

dispatchKeyEventPreIme

added in API level 3

 

public boolean dispatchKeyEventPreIme (KeyEvent event)

Dispatch a key event before it is processed by any input method associated with the view hierarchy. This can be used to intercept key events in special situations before the IME consumes them; a typical example would be handling the BACK key to update the application's UI instead of allowing the IME to see it and close itself.

Parameters
event KeyEvent: The key event to be dispatched.
Returns
boolean True if the event was handled, false otherwise.

dispatchKeyShortcutEvent

added in API level 1

 

public boolean dispatchKeyShortcutEvent (KeyEvent event)

Dispatches a key shortcut event.

Parameters
event KeyEvent: The key event to be dispatched.
Returns
boolean True if the event was handled by the view, false otherwise.

dispatchNestedFling

added in API level 21

 

public boolean dispatchNestedFling (float velocityX, float velocityY, boolean consumed)

Dispatch a fling to a nested scrolling parent.

This method should be used to indicate that a nested scrolling child has detected suitable conditions for a fling. Generally this means that a touch scroll has ended with a velocity in the direction of scrolling that meets or exceeds the minimum fling velocity along a scrollable axis.

If a nested scrolling child view would normally fling but it is at the edge of its own content, it can use this method to delegate the fling to its nested scrolling parent instead. The parent may optionally consume the fling or observe a child fling.

Parameters
velocityX float: Horizontal fling velocity in pixels per second
velocityY float: Vertical fling velocity in pixels per second
consumed boolean: true if the child consumed the fling, false otherwise
Returns
boolean true if the nested scrolling parent consumed or otherwise reacted to the fling

dispatchNestedPreFling

added in API level 21

 

public boolean dispatchNestedPreFling (float velocityX, float velocityY)

Dispatch a fling to a nested scrolling parent before it is processed by this view.

Nested pre-fling events are to nested fling events what touch intercept is to touch and what nested pre-scroll is to nested scroll. dispatchNestedPreFling offsets an opportunity for the parent view in a nested fling to fully consume the fling before the child view consumes it. If this method returns true, a nested parent view consumed the fling and this view should not scroll as a result.

For a better user experience, only one view in a nested scrolling chain should consume the fling at a time. If a parent view consumed the fling this method will return false. Custom view implementations should account for this in two ways:

  • If a custom view is paged and needs to settle to a fixed page-point, do not call dispatchNestedPreFling; consume the fling and settle to a valid position regardless.
  • If a nested parent does consume the fling, this view should not scroll at all, even to settle back to a valid idle position.

Views should also not offer fling velocities to nested parent views along an axis where scrolling is not currently supported; a ScrollView should not offer a horizontal fling velocity to its parents since scrolling along that axis is not permitted and carrying velocity along that motion does not make sense.

Parameters
velocityX float: Horizontal fling velocity in pixels per second
velocityY float: Vertical fling velocity in pixels per second
Returns
boolean true if a nested scrolling parent consumed the fling

dispatchNestedPrePerformAccessibilityAction

added in API level 22

 

public boolean dispatchNestedPrePerformAccessibilityAction (int action, Bundle arguments)

Report an accessibility action to this view's parents for delegated processing.

Implementations of performAccessibilityAction(int, Bundle) may internally call this method to delegate an accessibility action to a supporting parent. If the parent returns true from itsViewParent.onNestedPrePerformAccessibilityAction(View, int, android.os.Bundle) method this method will return true to signify that the action was consumed.

This method is useful for implementing nested scrolling child views. If isNestedScrollingEnabled() returns true and the action is a scrolling action a custom view implementation may invoke this method to allow a parent to consume the scroll first. If this method returns true the custom view should skip its own scrolling behavior.

Parameters
action int: Accessibility action to delegate
arguments Bundle: Optional action arguments
Returns
boolean true if the action was consumed by a parent

dispatchNestedPreScroll

added in API level 21

 

public boolean dispatchNestedPreScroll (int dx, int dy, int[] consumed, int[] offsetInWindow)

Dispatch one step of a nested scroll in progress before this view consumes any portion of it.

Nested pre-scroll events are to nested scroll events what touch intercept is to touch. dispatchNestedPreScroll offers an opportunity for the parent view in a nested scrolling operation to consume some or all of the scroll operation before the child view consumes it.

Parameters
dx int: Horizontal scroll distance in pixels
dy int: Vertical scroll distance in pixels
consumed int: Output. If not null, consumed[0] will contain the consumed component of dx and consumed[1] the consumed dy.
offsetInWindow int: Optional. If not null, on return this will contain the offset in local view coordinates of this view from before this operation to after it completes. View implementations may use this to adjust expected input coordinate tracking.
Returns
boolean true if the parent consumed some or all of the scroll delta

See also:

dispatchNestedScroll

added in API level 21

 

public boolean dispatchNestedScroll (int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed, int[] offsetInWindow)

Dispatch one step of a nested scroll in progress.

Implementations of views that support nested scrolling should call this to report info about a scroll in progress to the current nested scrolling parent. If a nested scroll is not currently in progress or nested scrolling is not enabled for this view this method does nothing.

Compatible View implementations should also call dispatchNestedPreScroll before consuming a component of the scroll event themselves.

Parameters
dxConsumed int: Horizontal distance in pixels consumed by this view during this scroll step
dyConsumed int: Vertical distance in pixels consumed by this view during this scroll step
dxUnconsumed int: Horizontal scroll distance in pixels not consumed by this view
dyUnconsumed int: Horizontal scroll distance in pixels not consumed by this view
offsetInWindow int: Optional. If not null, on return this will contain the offset in local view coordinates of this view from before this operation to after it completes. View implementations may use this to adjust expected input coordinate tracking.
Returns
boolean true if the event was dispatched, false if it could not be dispatched.

See also:

dispatchPointerCaptureChanged

added in API level 26

 

public void dispatchPointerCaptureChanged (boolean hasCapture)

Parameters
hasCapture boolean

See also:

dispatchPopulateAccessibilityEvent

added in API level 4

 

public boolean dispatchPopulateAccessibilityEvent (AccessibilityEvent event)

Dispatches an AccessibilityEvent to the View first and then to its children for adding their text content to the event. Note that the event text is populated in a separate dispatch path since we add to the event not only the text of the source but also the text of all its descendants. A typical implementation will callonPopulateAccessibilityEvent(AccessibilityEvent) on the this view and then call the dispatchPopulateAccessibilityEvent(AccessibilityEvent) on each child. Override this method if custom population of the event text content is required.

If an View.AccessibilityDelegate has been specified via callingsetAccessibilityDelegate(AccessibilityDelegate) itsView.AccessibilityDelegate.dispatchPopulateAccessibilityEvent(View, AccessibilityEvent) is responsible for handling this call.

Note: Accessibility events of certain types are not dispatched for populating the event text via this method. For details refer to AccessibilityEvent.

Parameters
event AccessibilityEvent: The event.
Returns
boolean True if the event population was completed.

dispatchProvideAutofillStructure

added in API level 26

 

public void dispatchProvideAutofillStructure (ViewStructure structure, int flags)

Dispatches creation of a ViewStructures for autofill purposes down the hierarchy, when an Assist structure is being created as part of an autofill request.

The default implementation does the following:

Typically, this method should only be overridden by subclasses that provide a view hierarchy (such as ViewGroup) - other classes should override onProvideAutofillStructure(ViewStructure, int) oronProvideAutofillVirtualStructure(ViewStructure, int) instead.

When overridden, it must:

  • Either call super.dispatchProvideAutofillStructure(structure, flags) or explicitly set the AutofillIdin the structure (for example, by calling structure.setAutofillId(getAutofillId())).
  • Decide how to handle the AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS flag - when set, all views in the structure should be considered important for autofill, regardless of what isImportantForAutofill() returns. We encourage you to respect this flag to provide a better user experience - this flag is typically used when an user explicitly requested autofill. If the flag is not set, then only views marked as important for autofill should be included in the structure - skipping non-important views optimizes the overall autofill performance.
Parameters
structure ViewStructure: fill in with structured view data for autofill purposes.

This value must never be null.

flags int: optional flags.

Value is either 0 or AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS.

See also:

dispatchProvideStructure

added in API level 23

 

public void dispatchProvideStructure (ViewStructure structure)

Dispatch creation of ViewStructure down the hierarchy. The default implementation calls onProvideStructure(ViewStructure) and onProvideVirtualStructure(ViewStructure).

Parameters
structure ViewStructure

dispatchStartTemporaryDetach

added in API level 24

 

public void dispatchStartTemporaryDetach ()

Dispatch onStartTemporaryDetach() to this View and its direct children if this is a container View.

If you override this method you must call through to the superclass implementation.

dispatchSystemUiVisibilityChanged

added in API level 11

 

public void dispatchSystemUiVisibilityChanged (int visibility)

Dispatch callbacks to setOnSystemUiVisibilityChangeListener(View.OnSystemUiVisibilityChangeListener)down the view hierarchy.

Parameters
visibility int

dispatchTouchEvent

added in API level 1

 

public boolean dispatchTouchEvent (MotionEvent event)

Pass the touch screen motion event down to the target view, or this view if it is the target.

Parameters
event MotionEvent: The motion event to be dispatched.
Returns
boolean True if the event was handled by the view, false otherwise.

dispatchTrackballEvent

added in API level 1

 

public boolean dispatchTrackballEvent (MotionEvent event)

Pass a trackball motion event down to the focused view.

Parameters
event MotionEvent: The motion event to be dispatched.
Returns
boolean True if the event was handled by the view, false otherwise.

dispatchUnhandledMove

added in API level 1

 

public boolean dispatchUnhandledMove (View focused, int direction)

This method is the last chance for the focused view and its ancestors to respond to an arrow key. This is called when the focused view did not consume the key internally, nor could the view system find a new view in the requested direction to give focus to.

Parameters
focused View: The currently focused view.
direction int: The direction focus wants to move. One of FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT, and FOCUS_RIGHT.

Value is FOCUS_LEFTFOCUS_UPFOCUS_RIGHT or FOCUS_DOWN.

Returns
boolean True if the this view consumed this unhandled move.

dispatchWindowFocusChanged

added in API level 1

 

public void dispatchWindowFocusChanged (boolean hasFocus)

Called when the window containing this view gains or loses window focus. ViewGroups should override to route to their children.

Parameters
hasFocus boolean: True if the window containing this view now has focus, false otherwise.

dispatchWindowSystemUiVisiblityChanged

added in API level 16

 

public void dispatchWindowSystemUiVisiblityChanged (int visible)

Dispatch callbacks to onWindowSystemUiVisibilityChanged(int) down the view hierarchy.

Parameters
visible int

dispatchWindowVisibilityChanged

added in API level 1

 

public void dispatchWindowVisibilityChanged (int visibility)

Dispatch a window visibility change down the view hierarchy. ViewGroups should override to route to their children.

Parameters
visibility int: The new visibility of the window.

See also:

draw

added in API level 1

 

public void draw (Canvas canvas)

Manually render this view (and all of its children) to the given Canvas. The view must have already done a full layout before this function is called. When implementing a view, implement onDraw(android.graphics.Canvas) instead of overriding this method. If you do need to override this method, call the superclass version.

If you override this method you must call through to the superclass implementation.

Parameters
canvas Canvas: The Canvas to which the View is rendered.

drawableHotspotChanged

added in API level 21

 

public void drawableHotspotChanged (float x, float y)

This function is called whenever the view hotspot changes and needs to be propagated to drawables or child views managed by the view.

Dispatching to child views is handled by dispatchDrawableHotspotChanged(float, float).

Be sure to call through to the superclass when overriding this function.

If you override this method you must call through to the superclass implementation.

Parameters
x float: hotspot x coordinate
y float: hotspot y coordinate

findFocus

added in API level 1

 

public View findFocus ()

Find the view in the hierarchy rooted at this view that currently has focus.

Returns
View The view that currently has focus, or null if no focused view can be found.

findViewById

added in API level 1

 

public final T findViewById (int id)

Finds the first descendant view with the given ID, the view itself if the ID matches getId(), or null if the ID is invalid (< 0) 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
Returns
T a view with given ID if found, or null otherwise

See also:

findViewWithTag

added in API level 1

 

public final T findViewWithTag (Object tag)

Look for a child view with the given tag. If this view has the given tag, return this view.

Parameters
tag Object: The tag to search for, using "tag.equals(getTag())".
Returns
T The View that has the given tag in the hierarchy or null

findViewsWithText

added in API level 14

 

public void findViewsWithText (ArrayList<View> outViews, CharSequence searched, int flags)

Finds the Views that contain given text. The containment is case insensitive. The search is performed by either the text that the View renders or the content description that describes the view for accessibility purposes and the view does not render or both. Clients can specify how the search is to be performed via passing the FIND_VIEWS_WITH_TEXT andFIND_VIEWS_WITH_CONTENT_DESCRIPTION flags.

Parameters
outViews ArrayList: The output list of matching Views.
searched CharSequence: The text to match against.
flags int

Value is either 0 or combination of FIND_VIEWS_WITH_TEXT or FIND_VIEWS_WITH_CONTENT_DESCRIPTION.

See also:

focusSearch

added in API level 1

 

public View focusSearch (int direction)

Find the nearest view in the specified direction that can take focus. This does not actually give focus to that view.

Parameters
direction int: One of FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT, and FOCUS_RIGHT

Value is FOCUS_LEFTFOCUS_UPFOCUS_RIGHT or FOCUS_DOWN.

Returns
View The nearest focusable in the specified direction, or null if none can be found.

forceHasOverlappingRendering

added in API level 24

 

public void forceHasOverlappingRendering (boolean hasOverlappingRendering)

Sets the behavior for overlapping rendering for this view (see hasOverlappingRendering() for more details on this behavior). Calling this method is an alternative to overriding hasOverlappingRendering() in a subclass, providing the value which is then used internally. That is, when forceHasOverlappingRendering(boolean) is called, the value of hasOverlappingRendering() is ignored and the value passed into this method is used instead.

Related XML Attributes:

Parameters
hasOverlappingRendering boolean: The value for overlapping rendering to be used internally instead of that returned by hasOverlappingRendering().

forceLayout

added in API level 1

 

public void forceLayout ()

Forces this view to be laid out during the next layout pass. This method does not call requestLayout() or forceLayout() on the parent.

generateViewId

added in API level 17

 

public static int generateViewId ()

Generate a value suitable for use in setId(int). This value will not collide with ID values generated at build time by aapt for R.id.

Returns
int a generated ID value

getAccessibilityClassName

added in API level 23

 

public CharSequence getAccessibilityClassName ()

Return the class name of this object to be used for accessibility purposes. Subclasses should only override this if they are implementing something that should be seen as a completely new class of view when used by accessibility, unrelated to the class it is deriving from. This is used to fill in AccessibilityNodeInfo.setClassName.

Returns
CharSequence

getAccessibilityLiveRegion

added in API level 19

 

public int getAccessibilityLiveRegion ()

Gets the live region mode for this View.

Related XML Attributes:

Returns
int The live region mode for the view.

See also:

getAccessibilityNodeProvider

added in API level 16

 

public AccessibilityNodeProvider getAccessibilityNodeProvider ()

Gets the provider for managing a virtual view hierarchy rooted at this View and reported to AccessibilityServices that explore the window content.

If this method returns an instance, this instance is responsible for managing AccessibilityNodeInfos describing the virtual sub-tree rooted at this View including the one representing the View itself. Similarly the returned instance is responsible for performing accessibility actions on any virtual view or the root view itself.

If an View.AccessibilityDelegate has been specified via callingsetAccessibilityDelegate(AccessibilityDelegate) itsView.AccessibilityDelegate.getAccessibilityNodeProvider(View) is responsible for handling this call.

Returns
AccessibilityNodeProvider The provider.

See also:

getAccessibilityPaneTitle

added in API level 28

 

public CharSequence getAccessibilityPaneTitle ()

Get the title of the pane for purposes of accessibility.

Returns
CharSequence The current pane title. .

This value may be null.

getAccessibilityTraversalAfter

added in API level 22

 

public int getAccessibilityTraversalAfter ()

Gets the id of a view after which this one is visited in accessibility traversal.

Returns
int The id of a view this one succeedes in accessibility traversal if specified, otherwise NO_ID.

See also:

getAccessibilityTraversalBefore

added in API level 22

 

public int getAccessibilityTraversalBefore ()

Gets the id of a view before which this one is visited in accessibility traversal.

Returns
int The id of a view this one precedes in accessibility traversal if specified, otherwise NO_ID.

See also:

getAlpha

added in API level 11

 

public float getAlpha ()

The opacity of the view. This is a value from 0 to 1, where 0 means the view is completely transparent and 1 means the view is completely opaque.

By default this is 1.0f.

Returns
float The opacity of the view.

getAnimation

added in API level 1

 

public Animation getAnimation ()

Get the animation currently associated with this view.

Returns
Animation The animation that is currently playing or scheduled to play for this view.

getApplicationWindowToken

added in API level 1

 

public IBinder getApplicationWindowToken ()

Retrieve a unique token identifying the top-level "real" window of the window that this view is attached to. That is, this is like getWindowToken(), except if the window this view in is a panel window (attached to another containing window), then the token of the containing window is returned instead.

Returns
IBinder Returns the associated window token, either getWindowToken() or the containing window's token.

getAutofillHints

added in API level 26

 

public String[] getAutofillHints ()

Gets the hints that help an AutofillService determine how to autofill the view with the user's data.

See setAutofillHints(String) for more info about these hints.

Related XML Attributes:

Returns
String[] The hints set via the attribute or setAutofillHints(String), or null if no hints were set.

getAutofillId

added in API level 26

 

public final AutofillId getAutofillId ()

Gets the unique, logical identifier of this view in the activity, for autofill purposes.

The autofill id is created on demand, unless it is explicitly set by setAutofillId(AutofillId).

See setAutofillId(AutofillId) for more info.

Returns
AutofillId The View's autofill id.

getAutofillType

added in API level 26

 

public int getAutofillType ()

Describes the autofill type of this view, so an AutofillService can create the proper AutofillValue when autofilling the view.

By default returns AUTOFILL_TYPE_NONE, but views should override it to properly support the Autofill Framework.

Returns
int either AUTOFILL_TYPE_NONEAUTOFILL_TYPE_TEXTAUTOFILL_TYPE_LISTAUTOFILL_TYPE_DATE, or AUTOFILL_TYPE_TOGGLE.

Value is AUTOFILL_TYPE_NONEAUTOFILL_TYPE_TEXTAUTOFILL_TYPE_TOGGLEAUTOFILL_TYPE_LIST or AUTOFILL_TYPE_DATE.

See also:

getAutofillValue

added in API level 26

 

public AutofillValue getAutofillValue ()

Gets the View's current autofill value.

By default returns null, but subclasses should override it and return an appropriate value to properly support the Autofill Framework.

Returns
AutofillValue

This value may be null.

See also:

getBackground

added in API level 1

 

public Drawable getBackground ()

Gets the background drawable

Related XML Attributes:

Returns
Drawable The drawable used as the background for this view, if any.

See also:

getBackgroundTintList

added in API level 21

 

public ColorStateList getBackgroundTintList ()

Return the tint applied to the background drawable, if specified.

Related XML Attributes:

Returns
ColorStateList the tint applied to the background drawable

This value may be null.

See also:

getBackgroundTintMode

added in API level 21

 

public PorterDuff.Mode getBackgroundTintMode ()

Return the blending mode used to apply the tint to the background drawable, if specified.

Related XML Attributes:

Returns
PorterDuff.Mode the blending mode used to apply the tint to the background drawable

This value may be null.

See also:

getBaseline

added in API level 1

 

public int getBaseline ()

Return the offset of the widget's text baseline from the widget's top boundary. If this widget does not support baseline alignment, this method returns -1.

Returns
int the offset of the baseline within the widget's bounds or -1 if baseline alignment is not supported

getBottom

added in API level 1

 

public final int getBottom ()

Bottom position of this view relative to its parent.

Returns
int The bottom of this view, in pixels.

getCameraDistance

added in API level 16

 

public float getCameraDistance ()

Gets the distance along the Z axis from the camera to this view.

Returns
float The distance along the Z axis.

See also:

getClipBounds

added in API level 23

 

public boolean getClipBounds (Rect outRect)

Populates an output rectangle with the clip bounds of the view, returning true if successful or false if the view's clip bounds are null.

Parameters
outRect Rect: rectangle in which to place the clip bounds of the view
Returns
boolean true if successful or false if the view's clip bounds are null

getClipBounds

added in API level 18

 

public Rect getClipBounds ()

Returns a copy of the current clipBounds.

Returns
Rect A copy of the current clip bounds if clip bounds are set, otherwise null.

getClipToOutline

added in API level 21

 

public final boolean getClipToOutline ()

Returns whether the Outline should be used to clip the contents of the View.

Note that this flag will only be respected if the View's Outline returns true from Outline.canClip().

Returns
boolean

See also:

getContentDescription

added in API level 4

 

public CharSequence getContentDescription ()

Returns the View's content description.

Note: Do not override this method, as it will have no effect on the content description presented to accessibility services. You must call setContentDescription(CharSequence) to modify the content description.

Related XML Attributes:

Returns
CharSequence the content description

See also:

getContext

added in API level 1

 

public final Context getContext ()

Returns the context the view is running in, through which it can access the current theme, resources, etc.

Returns
Context The view's Context.

getDefaultFocusHighlightEnabled

added in API level 26

 

public final boolean getDefaultFocusHighlightEnabled ()

/** Returns whether this View should use a default focus highlight when it gets focused but doesn't have R.attr.state_focused defined in its background.

Related XML Attributes:

Returns
boolean True if this View should use a default focus highlight.

getDefaultSize

added in API level 1

 

public static int getDefaultSize (int size, int measureSpec)

Utility to return a default size. Uses the supplied size if the MeasureSpec imposed no constraints. Will get larger if allowed by the MeasureSpec.

Parameters
size int: Default size for this view
measureSpec int: Constraints imposed by the parent
Returns
int The size this view should be.

getDisplay

added in API level 17

 

public Display getDisplay ()

Gets the logical display to which the view's window has been attached.

Returns
Display The logical display, or null if the view is not currently attached to a window.

getDrawableState

added in API level 1

 

public final int[] getDrawableState ()

Return an array of resource IDs of the drawable states representing the current state of the view.

Returns
int[] The current drawable state

See also:

getDrawingCache

added in API level 1

 

public Bitmap getDrawingCache ()

This method was deprecated in API level 28.
The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

Calling this method is equivalent to calling getDrawingCache(false).

Returns
Bitmap A non-scaled bitmap representing this view or null if cache is disabled.

See also:

getDrawingCache

added in API level 4

 

public Bitmap getDrawingCache (boolean autoScale)

This method was deprecated in API level 28.
The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

Returns the bitmap in which this view drawing is cached. The returned bitmap is null when caching is disabled. If caching is enabled and the cache is not ready, this method will create it. Calling draw(android.graphics.Canvas) will not draw from the cache when the cache is enabled. To benefit from the cache, you must request the drawing cache by calling this method and draw it on screen if the returned bitmap is not null.

Note about auto scaling in compatibility mode: When auto scaling is not enabled, this method will create a bitmap of the same size as this view. Because this bitmap will be drawn scaled by the parent ViewGroup, the result on screen might show scaling artifacts. To avoid such artifacts, you should call this method by setting the auto scaling to true. Doing so, however, will generate a bitmap of a different size than the view. This implies that your application must be able to handle this size.

Parameters
autoScale boolean: Indicates whether the generated bitmap should be scaled based on the current density of the screen when the application is in compatibility mode.
Returns
Bitmap A bitmap representing this view or null if cache is disabled.

See also:

getDrawingCacheBackgroundColor

added in API level 1

 

public int getDrawingCacheBackgroundColor ()

This method was deprecated in API level 28.
The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

Returns
int The background color to used for the drawing cache's bitmap

See also:

getDrawingCacheQuality

added in API level 1

 

public int getDrawingCacheQuality ()

This method was deprecated in API level 28.
The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

Returns the quality of the drawing cache.

Related XML Attributes:

Returns
int One of DRAWING_CACHE_QUALITY_AUTODRAWING_CACHE_QUALITY_LOW, or DRAWING_CACHE_QUALITY_HIGH

Value is DRAWING_CACHE_QUALITY_LOWDRAWING_CACHE_QUALITY_HIGH or DRAWING_CACHE_QUALITY_AUTO.

See also:

getDrawingRect

added in API level 1

 

public void getDrawingRect (Rect outRect)

Return the visible drawing bounds of your view. Fills in the output rectangle with the values from getScrollX(), getScrollY(), getWidth(), and getHeight(). These bounds do not account for any transformation properties currently set on the view, such as setScaleX(float) or setRotation(float).

Parameters
outRect Rect: The (scrolled) drawing bounds of the view.

getDrawingTime

added in API level 1

 

public long getDrawingTime ()

Return the time at which the drawing of the view hierarchy started.

Returns
long the drawing start time in milliseconds

getElevation

added in API level 21

 

public float getElevation ()

The base elevation of this view relative to its parent, in pixels.

Returns
float The base depth position of the view, in pixels.

getFilterTouchesWhenObscured

added in API level 9

 

public boolean getFilterTouchesWhenObscured ()

Gets whether the framework should discard touches when the view's window is obscured by another visible window. Refer to the View security documentation for more details.

Related XML Attributes:

Returns
boolean True if touch filtering is enabled.

See also:

getFitsSystemWindows

added in API level 16

 

public boolean getFitsSystemWindows ()

Check for state of setFitsSystemWindows(boolean). If this method returns true, the default implementation of fitSystemWindows(Rect) will be executed.

Related XML Attributes:

Returns
boolean true if the default implementation of fitSystemWindows(Rect) will be executed.

See also:

getFocusable

added in API level 26

 

public int getFocusable ()

Returns the focusable setting for this view.

Related XML Attributes:

Returns
int One of NOT_FOCUSABLEFOCUSABLE, or FOCUSABLE_AUTO.

getFocusables

added in API level 1

 

public ArrayList<View> getFocusables (int direction)

Find and return all focusable views that are descendants of this view, possibly including this view if it is focusable itself.

Parameters
direction int: The direction of the focus

Value is FOCUS_BACKWARDFOCUS_FORWARDFOCUS_LEFTFOCUS_UPFOCUS_RIGHT or FOCUS_DOWN.

Returns
ArrayList<View> A list of focusable views

getFocusedRect

added in API level 1

 

public void getFocusedRect (Rect r)

When a view has focus and the user navigates away from it, the next view is searched for starting from the rectangle filled in by this method. By default, the rectangle is the getDrawingRect(android.graphics.Rect)) of the view. However, if your view maintains some idea of internal selection, such as a cursor, or a selected row or column, you should override this method and fill in a more specific rectangle.

Parameters
r Rect: The rectangle to fill in, in this view's coordinates.

getForeground

added in API level 1

 

public Drawable getForeground ()

Returns the drawable used as the foreground of this View. The foreground drawable, if non-null, is always drawn on top of the view's content.

Returns
Drawable a Drawable or null if no foreground was set

See also:

getForegroundGravity

added in API level 16

 

public int getForegroundGravity ()

Describes how the foreground is positioned.

Related XML Attributes:

Returns
int foreground gravity.

See also:

getForegroundTintList

added in API level 21

 

public ColorStateList getForegroundTintList ()

Return the tint applied to the foreground drawable, if specified.

Related XML Attributes:

Returns
ColorStateList the tint applied to the foreground drawable

This value may be null.

See also:

getForegroundTintMode

added in API level 21

 

public PorterDuff.Mode getForegroundTintMode ()

Return the blending mode used to apply the tint to the foreground drawable, if specified.

Related XML Attributes:

Returns
PorterDuff.Mode the blending mode used to apply the tint to the foreground drawable

This value may be null.

See also:

getGlobalVisibleRect

added in API level 1

 

public final boolean getGlobalVisibleRect (Rect r)

Parameters
r Rect
Returns
boolean

getGlobalVisibleRect

added in API level 1

 

public boolean getGlobalVisibleRect (Rect r, Point globalOffset)

If some part of this view is not clipped by any of its parents, then return that area in r in global (root) coordinates. To convert r to local coordinates (without taking possible View rotations into account), offset it by -globalOffset (e.g. r.offset(-globalOffset.x, -globalOffset.y)). If the view is completely clipped or translated out, return false.

Parameters
r Rect: If true is returned, r holds the global coordinates of the visible portion of this view.
globalOffset Point: If true is returned, globalOffset holds the dx,dy between this view and its root. globalOffet may be null.
Returns
boolean true if r is non-empty (i.e. part of the view is visible at the root level.

getHandler

added in API level 1

 

public Handler getHandler ()

Returns
Handler A handler associated with the thread running the View. This handler can be used to pump events in the UI events queue.

getHasOverlappingRendering

added in API level 24

 

public final boolean getHasOverlappingRendering ()

Returns the value for overlapping rendering that is used internally. This is either the value passed into forceHasOverlappingRendering(boolean), if called, or the return value of hasOverlappingRendering(), otherwise.

Returns
boolean The value for overlapping rendering being used internally.

getHeight

added in API level 1

 

public final int getHeight ()

Return the height of your view.

Returns
int The height of your view, in pixels.

getHitRect

added in API level 1

 

public void getHitRect (Rect outRect)

Hit rectangle in parent's coordinates

Parameters
outRect Rect: The hit rectangle of the view.

getHorizontalFadingEdgeLength

added in API level 1

 

public int getHorizontalFadingEdgeLength ()

Returns the size of the horizontal faded edges used to indicate that more content in this view is visible.

Related XML Attributes:

Returns
int The size in pixels of the horizontal faded edge or 0 if horizontal faded edges are not enabled for this view.

getId

added in API level 1

 

public int getId ()

Returns this view's identifier.

Related XML Attributes:

Returns
int a positive integer used to identify the view or NO_ID if the view has no ID

See also:

getImportantForAccessibility

added in API level 16

 

public int getImportantForAccessibility ()

Gets the mode for determining whether this View is important for accessibility. A view is important for accessibility if it fires accessibility events and if it is reported to accessibility services that query the screen.

Related XML Attributes:

Returns
int The mode for determining whether a view is important for accessibility, one of IMPORTANT_FOR_ACCESSIBILITY_AUTOIMPORTANT_FOR_ACCESSIBILITY_YES,IMPORTANT_FOR_ACCESSIBILITY_NO, orIMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS.

See also:

getImportantForAutofill

added in API level 26

 

public int getImportantForAutofill ()

Gets the mode for determining whether this view is important for autofill.

See setImportantForAutofill(int) and isImportantForAutofill() for more info about this mode.

Related XML Attributes:

Returns
int IMPORTANT_FOR_AUTOFILL_AUTO by default, or value passed to setImportantForAutofill(int).

Value is IMPORTANT_FOR_AUTOFILL_AUTOIMPORTANT_FOR_AUTOFILL_YESIMPORTANT_FOR_AUTOFILL_NOIMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS or IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS.

getKeepScreenOn

added in API level 1

 

public boolean getKeepScreenOn ()

Returns whether the screen should remain on, corresponding to the current value of KEEP_SCREEN_ON.

Related XML Attributes:

Returns
boolean Returns true if KEEP_SCREEN_ON is set.

See also:

getKeyDispatcherState

added in API level 5

 

public KeyEvent.DispatcherState getKeyDispatcherState ()

Return the global KeyEvent.DispatcherState for this view's window. Returns null if the view is not currently attached to the window. Normally you will not need to use this directly, but just use the standard high-level event callbacks likeonKeyDown(int, KeyEvent).

Returns
KeyEvent.DispatcherState

getLabelFor

added in API level 17

 

public int getLabelFor ()

Gets the id of a view for which this view serves as a label for accessibility purposes.

Returns
int The labeled view id.

getLayerType

added in API level 11

 

public int getLayerType ()

Indicates what type of layer is currently associated with this view. By default a view does not have a layer, and the layer type is LAYER_TYPE_NONE. Refer to the documentation of setLayerType(int, android.graphics.Paint) for more information on the different types of layers.

Returns
int LAYER_TYPE_NONELAYER_TYPE_SOFTWARE or LAYER_TYPE_HARDWARE

See also:

getLayoutDirection

added in API level 17

 

public int getLayoutDirection ()

Returns the resolved layout direction for this view.

Related XML Attributes:

Returns
int LAYOUT_DIRECTION_RTL if the layout direction is RTL or returns LAYOUT_DIRECTION_LTR if the layout direction is not RTL. For compatibility, this will return LAYOUT_DIRECTION_LTR if API version is lower than Build.VERSION_CODES.JELLY_BEAN_MR1.

Value is LAYOUT_DIRECTION_LTR or LAYOUT_DIRECTION_RTL.

getLayoutParams

added in API level 1

 

public ViewGroup.LayoutParams getLayoutParams ()

Get the LayoutParams associated with this view. All views should have layout parameters. These supply parameters to the parent of this view specifying how it should be arranged. There are many subclasses of ViewGroup.LayoutParams, and these correspond to the different subclasses of ViewGroup that are responsible for arranging their children. This method may return null if this View is not attached to a parent ViewGroup or setLayoutParams(android.view.ViewGroup.LayoutParams) was not invoked successfully. When a View is attached to a parent ViewGroup, this method must not return null.

Returns
ViewGroup.LayoutParams The LayoutParams associated with this view, or null if no parameters have been set yet

getLeft

added in API level 1

 

public final int getLeft ()

Left position of this view relative to its parent.

Returns
int The left edge of this view, in pixels.

getLocalVisibleRect

added in API level 1

 

public final boolean getLocalVisibleRect (Rect r)

Parameters
r Rect
Returns
boolean

getLocationInWindow

added in API level 1

 

public void getLocationInWindow (int[] outLocation)

Computes the coordinates of this view in its window. The argument must be an array of two integers. After the method returns, the array contains the x and y location in that order.

Parameters
outLocation int: an array of two integers in which to hold the coordinates

getLocationOnScreen

added in API level 1

 

public void getLocationOnScreen (int[] outLocation)

Computes the coordinates of this view on the screen. The argument must be an array of two integers. After the method returns, the array contains the x and y location in that order.

Parameters
outLocation int: an array of two integers in which to hold the coordinates

getMatrix

added in API level 11

 

public Matrix getMatrix ()

The transform matrix of this view, which is calculated based on the current rotation, scale, and pivot properties.

Returns
Matrix The current transform matrix for the view

See also:

getMeasuredHeight

added in API level 1

 

public final int getMeasuredHeight ()

Like getMeasuredHeightAndState(), but only returns the raw height component (that is the result is masked byMEASURED_SIZE_MASK).

Returns
int The raw measured height of this view.

getMeasuredHeightAndState

added in API level 11

 

public final int getMeasuredHeightAndState ()

Return the full height measurement information for this view as computed by the most recent call to measure(int, int). This result is a bit mask as defined by MEASURED_SIZE_MASK and MEASURED_STATE_TOO_SMALL. This should be used during measurement and layout calculations only. Use getHeight() to see how wide a view is after layout.

Returns
int The measured height of this view as a bit mask.

getMeasuredState

added in API level 11

 

public final int getMeasuredState ()

Return only the state bits of getMeasuredWidthAndState() and getMeasuredHeightAndState(), combined into one integer. The width component is in the regular bits MEASURED_STATE_MASK and the height component is at the shifted bits MEASURED_HEIGHT_STATE_SHIFT>>MEASURED_STATE_MASK.

Returns
int

getMeasuredWidth

added in API level 1

 

public final int getMeasuredWidth ()

Like getMeasuredWidthAndState(), but only returns the raw width component (that is the result is masked byMEASURED_SIZE_MASK).

Returns
int The raw measured width of this view.

getMeasuredWidthAndState

added in API level 11

 

public final int getMeasuredWidthAndState ()

Return the full width measurement information for this view as computed by the most recent call to measure(int, int). This result is a bit mask as defined by MEASURED_SIZE_MASK and MEASURED_STATE_TOO_SMALL. This should be used during measurement and layout calculations only. Use getWidth() to see how wide a view is after layout.

Returns
int The measured width of this view as a bit mask.

getMinimumHeight

added in API level 16

 

public int getMinimumHeight ()

Returns the minimum height of the view.

Related XML Attributes:

Returns
int the minimum height the view will try to be, in pixels

See also:

getMinimumWidth

added in API level 16

 

public int getMinimumWidth ()

Returns the minimum width of the view.

Related XML Attributes:

Returns
int the minimum width the view will try to be, in pixels

See also:

getNextClusterForwardId

added in API level 26

 

public int getNextClusterForwardId ()

Gets the id of the root of the next keyboard navigation cluster.

Related XML Attributes:

Returns
int The next keyboard navigation cluster ID, or NO_ID if the framework should decide automatically.

getNextFocusDownId

added in API level 1

 

public int getNextFocusDownId ()

Gets the id of the view to use when the next focus is FOCUS_DOWN.

Related XML Attributes:

Returns
int The next focus ID, or NO_ID if the framework should decide automatically.

getNextFocusForwardId

added in API level 11

 

public int getNextFocusForwardId ()

Gets the id of the view to use when the next focus is FOCUS_FORWARD.

Related XML Attributes:

Returns
int The next focus ID, or NO_ID if the framework should decide automatically.

getNextFocusLeftId

added in API level 1

 

public int getNextFocusLeftId ()

Gets the id of the view to use when the next focus is FOCUS_LEFT.

Related XML Attributes:

Returns
int The next focus ID, or NO_ID if the framework should decide automatically.

getNextFocusRightId

added in API level 1

 

public int getNextFocusRightId ()

Gets the id of the view to use when the next focus is FOCUS_RIGHT.

Related XML Attributes:

Returns
int The next focus ID, or NO_ID if the framework should decide automatically.

getNextFocusUpId

added in API level 1

 

public int getNextFocusUpId ()

Gets the id of the view to use when the next focus is FOCUS_UP.

Related XML Attributes:

Returns
int The next focus ID, or NO_ID if the framework should decide automatically.

getOnFocusChangeListener

added in API level 1

 

public View.OnFocusChangeListener getOnFocusChangeListener ()

Returns the focus-change callback registered for this view.

Returns
View.OnFocusChangeListener The callback, or null if one is not registered.

getOutlineAmbientShadowColor

added in API level 28

 

public int getOutlineAmbientShadowColor ()

Returns
int The shadow color set by setOutlineAmbientShadowColor(int), or black if nothing was set

getOutlineProvider

added in API level 21

 

public ViewOutlineProvider getOutlineProvider ()

Returns the current ViewOutlineProvider of the view, which generates the Outline that defines the shape of the shadow it casts, and enables outline clipping.

Returns
ViewOutlineProvider

See also:

getOutlineSpotShadowColor

added in API level 28

 

public int getOutlineSpotShadowColor ()

Returns
int The shadow color set by setOutlineSpotShadowColor(int), or black if nothing was set

getOverScrollMode

added in API level 9

 

public int getOverScrollMode ()

Returns the over-scroll mode for this view. The result will be one of OVER_SCROLL_ALWAYS (default), OVER_SCROLL_IF_CONTENT_SCROLLS (allow over-scrolling only if the view content is larger than the container), or OVER_SCROLL_NEVER.

Returns
int This view's over-scroll mode.

getOverlay

added in API level 18

 

public ViewOverlay getOverlay ()

Returns the overlay for this view, creating it if it does not yet exist. Adding drawables to the overlay will cause them to be displayed whenever the view itself is redrawn. Objects in the overlay should be actively managed: remove them when they should not be displayed anymore. The overlay will always have the same size as its host view.

Note: Overlays do not currently work correctly with SurfaceView or TextureView; contents in overlays for these types of views may not display correctly.

Returns
ViewOverlay The ViewOverlay object for this view.

See also:

getPaddingBottom

added in API level 1

 

public int getPaddingBottom ()

Returns the bottom padding of this view. If there are inset and enabled scrollbars, this value may include the space required to display the scrollbars as well.

Returns
int the bottom padding in pixels

getPaddingEnd

added in API level 17

 

public int getPaddingEnd ()

Returns the end padding of this view depending on its resolved layout direction. If there are inset and enabled scrollbars, this value may include the space required to display the scrollbars as well.

Returns
int the end padding in pixels

getPaddingLeft

added in API level 1

 

public int getPaddingLeft ()

Returns the left padding of this view. If there are inset and enabled scrollbars, this value may include the space required to display the scrollbars as well.

Returns
int the left padding in pixels

getPaddingRight

added in API level 1

 

public int getPaddingRight ()

Returns the right padding of this view. If there are inset and enabled scrollbars, this value may include the space required to display the scrollbars as well.

Returns
int the right padding in pixels

getPaddingStart

added in API level 17

 

public int getPaddingStart ()

Returns the start padding of this view depending on its resolved layout direction. If there are inset and enabled scrollbars, this value may include the space required to display the scrollbars as well.

Returns
int the start padding in pixels

getPaddingTop

added in API level 1

 

public int getPaddingTop ()

Returns the top padding of this view.

Returns
int the top padding in pixels

getParent

added in API level 1

 

public final ViewParent getParent ()

Gets the parent of this view. Note that the parent is a ViewParent and not necessarily a View.

Returns
ViewParent Parent of this view.

getParentForAccessibility

added in API level 16

 

public ViewParent getParentForAccessibility ()

Gets the parent for accessibility purposes. Note that the parent for accessibility is not necessary the immediate parent. It is the first predecessor that is important for accessibility.

Returns
ViewParent The parent for accessibility purposes.

getPivotX

added in API level 11

 

public float getPivotX ()

The x location of the point around which the view is rotated and scaled.

Related XML Attributes:

Returns
float The x location of the pivot point.

See also:

getPivotY

added in API level 11

 

public float getPivotY ()

The y location of the point around which the view is rotated and scaled.

Related XML Attributes:

Returns
float The y location of the pivot point.

See also:

getPointerIcon

added in API level 24

 

public PointerIcon getPointerIcon ()

Gets the pointer icon for the current view.

Returns
PointerIcon

getResources

added in API level 1

 

public Resources getResources ()

Returns the resources associated with this view.

Returns
Resources Resources object.

getRevealOnFocusHint

added in API level 25

 

public final boolean getRevealOnFocusHint ()

Returns this view's preference for reveal behavior when it gains focus.

When this method returns true for a child view requesting focus, ancestor views responding to a focus change in ViewParent.requestChildFocus(View, View) should make a best effort to make the newly focused child fully visible to the user. When it returns false, ancestor views should preferably not disrupt scroll positioning or other properties affecting visibility to the user as part of the focus change.

Returns
boolean true if this view would prefer to become fully visible when it gains focus, false if it would prefer not to disrupt scroll positioning

See also:

getRight

added in API level 1

 

public final int getRight ()

Right position of this view relative to its parent.

Returns
int The right edge of this view, in pixels.

getRootView

added in API level 1

 

public View getRootView ()

Finds the topmost view in the current view hierarchy.

Returns
View the topmost view containing this view

getRootWindowInsets

added in API level 23

 

public WindowInsets getRootWindowInsets ()

Provide original WindowInsets that are dispatched to the view hierarchy. The insets are only available if the view is attached.

Returns
WindowInsets WindowInsets from the top of the view hierarchy or null if View is detached

getRotation

added in API level 11

 

public float getRotation ()

The degrees that the view is rotated around the pivot point.

Returns
float The degrees of rotation.

See also:

getRotationX

added in API level 11

 

public float getRotationX ()

The degrees that the view is rotated around the horizontal axis through the pivot point.

Returns
float The degrees of X rotation.

See also:

getRotationY

added in API level 11

 

public float getRotationY ()

The degrees that the view is rotated around the vertical axis through the pivot point.

Returns
float The degrees of Y rotation.

See also:

getScaleX

added in API level 11

 

public float getScaleX ()

The amount that the view is scaled in x around the pivot point, as a proportion of the view's unscaled width. A value of 1, the default, means that no scaling is applied.

By default, this is 1.0f.

Returns
float The scaling factor.

See also:

getScaleY

added in API level 11

 

public float getScaleY ()

The amount that the view is scaled in y around the pivot point, as a proportion of the view's unscaled height. A value of 1, the default, means that no scaling is applied.

By default, this is 1.0f.

Returns
float The scaling factor.

See also:

getScrollBarDefaultDelayBeforeFade

added in API level 16

 

public int getScrollBarDefaultDelayBeforeFade ()

Returns the delay before scrollbars fade.

Related XML Attributes:

Returns
int the delay before scrollbars fade

getScrollBarFadeDuration

added in API level 16

 

public int getScrollBarFadeDuration ()

Returns the scrollbar fade duration.

Related XML Attributes:

Returns
int the scrollbar fade duration, in milliseconds

getScrollBarSize

added in API level 16

 

public int getScrollBarSize ()

Returns the scrollbar size.

Related XML Attributes:

Returns
int the scrollbar size

getScrollBarStyle

added in API level 1

 

public int getScrollBarStyle ()

Returns the current scrollbar style.

Related XML Attributes:

Returns
int the current scrollbar style

Value is SCROLLBARS_INSIDE_OVERLAYSCROLLBARS_INSIDE_INSETSCROLLBARS_OUTSIDE_OVERLAY or SCROLLBARS_OUTSIDE_INSET.

See also:

getScrollIndicators

added in API level 23

 

public int getScrollIndicators ()

Returns a bitmask representing the enabled scroll indicators.

For example, if the top and left scroll indicators are enabled and all other indicators are disabled, the return value will beView.SCROLL_INDICATOR_TOP | View.SCROLL_INDICATOR_LEFT.

To check whether the bottom scroll indicator is enabled, use the value of (getScrollIndicators() & View.SCROLL_INDICATOR_BOTTOM) != 0.

Returns
int a bitmask representing the enabled scroll indicators

Value is either 0 or combination of SCROLL_INDICATOR_TOPSCROLL_INDICATOR_BOTTOMSCROLL_INDICATOR_LEFTSCROLL_INDICATOR_RIGHTSCROLL_INDICATOR_START or SCROLL_INDICATOR_END.

getScrollX

added in API level 1

 

public final int getScrollX ()

Return the scrolled left position of this view. This is the left edge of the displayed part of your view. You do not need to draw any pixels farther left, since those are outside of the frame of your view on screen.

Returns
int The left edge of the displayed part of your view, in pixels.

getScrollY

added in API level 1

 

public final int getScrollY ()

Return the scrolled top position of this view. This is the top edge of the displayed part of your view. You do not need to draw any pixels above it, since those are outside of the frame of your view on screen.

Returns
int The top edge of the displayed part of your view, in pixels.

getSolidColor

added in API level 1

 

public int getSolidColor ()

Override this if your view is known to always be drawn on top of a solid color background, and needs to draw fading edges. Returning a non-zero color enables the view system to optimize the drawing of the fading edges. If you do return a non-zero color, the alpha should be set to 0xFF.

Returns
int The known solid color background for this view, or 0 if the color may vary

See also:

getStateListAnimator

added in API level 21

 

public StateListAnimator getStateListAnimator ()

Returns the current StateListAnimator if exists.

Returns
StateListAnimator StateListAnimator or null if it does not exists

See also:

getSystemUiVisibility

added in API level 11

 

public int getSystemUiVisibility ()

Returns the last setSystemUiVisibility(int) that this view has requested.

Returns
int Bitwise-or of flags SYSTEM_UI_FLAG_LOW_PROFILESYSTEM_UI_FLAG_HIDE_NAVIGATIONSYSTEM_UI_FLAG_FULLSCREENSYSTEM_UI_FLAG_LAYOUT_STABLESYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATIONSYSTEM_UI_FLAG_LAYOUT_FULLSCREENSYSTEM_UI_FLAG_IMMERSIVE, and SYSTEM_UI_FLAG_IMMERSIVE_STICKY.

getTag

added in API level 1

 

public Object getTag ()

Returns this view's tag.

Returns
Object the Object stored in this view as a tag, or null if not set

See also:

getTag

added in API level 4

 

public Object getTag (int key)

Returns the tag associated with this view and the specified key.

Parameters
key int: The key identifying the tag
Returns
Object the Object stored in this view as a tag, or null if not set

See also:

getTextAlignment

added in API level 17

 

public int getTextAlignment ()

Return the resolved text alignment.

Related XML Attributes:

Returns
int the resolved text alignment. Returns one of: TEXT_ALIGNMENT_GRAVITY,TEXT_ALIGNMENT_CENTERTEXT_ALIGNMENT_TEXT_STARTTEXT_ALIGNMENT_TEXT_END,TEXT_ALIGNMENT_VIEW_STARTTEXT_ALIGNMENT_VIEW_END

Value is TEXT_ALIGNMENT_INHERITTEXT_ALIGNMENT_GRAVITYTEXT_ALIGNMENT_CENTERTEXT_ALIGNMENT_TEXT_STARTTEXT_ALIGNMENT_TEXT_ENDTEXT_ALIGNMENT_VIEW_STARTor TEXT_ALIGNMENT_VIEW_END.

getTextDirection

added in API level 17

 

public int getTextDirection ()

Return the resolved text direction.

Related XML Attributes:

Returns
int the resolved text direction. Returns one of: TEXT_DIRECTION_FIRST_STRONG,TEXT_DIRECTION_ANY_RTLTEXT_DIRECTION_LTRTEXT_DIRECTION_RTL,TEXT_DIRECTION_LOCALETEXT_DIRECTION_FIRST_STRONG_LTR,TEXT_DIRECTION_FIRST_STRONG_RTL

getTooltipText

added in API level 26

 

public CharSequence getTooltipText ()

Returns the view's tooltip text. Note: Do not override this method, as it will have no effect on the text displayed in the tooltip. You must call setTooltipText(CharSequence) to modify the tooltip text.

Related XML Attributes:

Returns
CharSequence the tooltip text

This value may be null.

See also:

getTop

added in API level 1

 

public final int getTop ()

Top position of this view relative to its parent.

Returns
int The top of this view, in pixels.

getTouchDelegate

added in API level 1

 

public TouchDelegate getTouchDelegate ()

Gets the TouchDelegate for this View.

Returns
TouchDelegate

getTouchables

added in API level 1

 

public ArrayList<View> getTouchables ()

Find and return all touchable views that are descendants of this view, possibly including this view if it is touchable itself.

Returns
ArrayList<View> A list of touchable views

getTransitionName

added in API level 21

 

public String getTransitionName ()

Returns the name of the View to be used to identify Views in Transitions. Names should be unique in the View hierarchy.

This returns null if the View has not been given a name.

Returns
String The name used of the View to be used to identify Views in Transitions or null if no name has been given.

getTranslationX

added in API level 11

 

public float getTranslationX ()

The horizontal location of this view relative to its left position. This position is post-layout, in addition to wherever the object's layout placed it.

Returns
float The horizontal position of this view relative to its left position, in pixels.

getTranslationY

added in API level 11

 

public float getTranslationY ()

The vertical location of this view relative to its top position. This position is post-layout, in addition to wherever the object's layout placed it.

Returns
float The vertical position of this view relative to its top position, in pixels.

getTranslationZ

added in API level 21

 

public float getTranslationZ ()

The depth location of this view relative to its elevation.

Returns
float The depth of this view relative to its elevation.

getVerticalFadingEdgeLength

added in API level 1

 

public int getVerticalFadingEdgeLength ()

Returns the size of the vertical faded edges used to indicate that more content in this view is visible.

Related XML Attributes:

Returns
int The size in pixels of the vertical faded edge or 0 if vertical faded edges are not enabled for this view.

getVerticalScrollbarPosition

added in API level 11

 

public int getVerticalScrollbarPosition ()

Returns
int The position where the vertical scroll bar will show, if applicable.

See also:

getVerticalScrollbarWidth

added in API level 1

 

public int getVerticalScrollbarWidth ()

Returns the width of the vertical scrollbar.

Returns
int The width in pixels of the vertical scrollbar or 0 if there is no vertical scrollbar.

getViewTreeObserver

added in API level 1

 

public ViewTreeObserver getViewTreeObserver ()

Returns the ViewTreeObserver for this view's hierarchy. The view tree observer can be used to get notifications when global events, like layout, happen. The returned ViewTreeObserver observer is not guaranteed to remain valid for the lifetime of this View. If the caller of this method keeps a long-lived reference to ViewTreeObserver, it should always check for the return value of ViewTreeObserver.isAlive().

Returns
ViewTreeObserver The ViewTreeObserver for this view's hierarchy.

getVisibility

added in API level 1

 

public int getVisibility ()

Returns the visibility status for this view.

Related XML Attributes:

Returns
int One of VISIBLEINVISIBLE, or GONE.

getWidth

added in API level 1

 

public final int getWidth ()

Return the width of your view.

Returns
int The width of your view, in pixels.

getWindowId

added in API level 18

 

public WindowId getWindowId ()

Retrieve the WindowId for the window this view is currently attached to.

Returns
WindowId

getWindowSystemUiVisibility

added in API level 16

 

public int getWindowSystemUiVisibility ()

Returns the current system UI visibility that is currently set for the entire window. This is the combination of thesetSystemUiVisibility(int) values supplied by all of the views in the window.

Returns
int

getWindowToken

added in API level 1

 

public IBinder getWindowToken ()

Retrieve a unique token identifying the window this view is attached to.

Returns
IBinder Return the window's token for use in WindowManager.LayoutParams.token.

getWindowVisibility

added in API level 1

 

public int getWindowVisibility ()

Returns the current visibility of the window this view is attached to (either GONEINVISIBLE, or VISIBLE).

Returns
int Returns the current visibility of the view's window.

getWindowVisibleDisplayFrame

added in API level 3

 

public void getWindowVisibleDisplayFrame (Rect outRect)

Retrieve the overall visible display size in which the window this view is attached to has been positioned in. This takes into account screen decorations above the window, for both cases where the window itself is being position inside of them or the window is being placed under then and covered insets are used for the window to position its content inside. In effect, this tells you the available area where content can be placed and remain visible to users.

This function requires an IPC back to the window manager to retrieve the requested information, so should not be used in performance critical code like drawing.

Parameters
outRect Rect: Filled in with the visible display frame. If the view is not attached to a window, this is simply the raw display size.

getX

added in API level 11

 

public float getX ()

The visual x position of this view, in pixels. This is equivalent to the translationX property plus the current leftproperty.

Returns
float The visual x position of this view, in pixels.

getY

added in API level 11

 

public float getY ()

The visual y position of this view, in pixels. This is equivalent to the translationY property plus the current topproperty.

Returns
float The visual y position of this view, in pixels.

getZ

added in API level 21

 

public float getZ ()

The visual z position of this view, in pixels. This is equivalent to the translationZ property plus the current elevationproperty.

Returns
float The visual z position of this view, in pixels.

hasExplicitFocusable

added in API level 26

 

public boolean hasExplicitFocusable ()

Returns true if this view is focusable or if it contains a reachable View for which hasExplicitFocusable() returns true. A "reachable hasExplicitFocusable()" is a view whose parents do not block descendants focus. Only VISIBLEviews for which getFocusable() would return FOCUSABLE are considered focusable.

This method preserves the pre-Build.VERSION_CODES.O behavior of hasFocusable() in that only views explicitly set focusable will cause this method to return true. A view set to FOCUSABLE_AUTO that resolves to focusable will not.

Returns
boolean true if the view is focusable or if the view contains a focusable view, false otherwise

See also:

hasFocus

added in API level 1

 

public boolean hasFocus ()

Returns true if this view has focus itself, or is the ancestor of the view that has focus.

Returns
boolean True if this view has or contains focus, false otherwise.

hasFocusable

added in API level 1

 

public boolean hasFocusable ()

Returns true if this view is focusable or if it contains a reachable View for which hasFocusable() returns true. A "reachable hasFocusable()" is a view whose parents do not block descendants focus. Only VISIBLE views are considered focusable.

As of Build.VERSION_CODES.O views that are determined to be focusable through FOCUSABLE_AUTO will also cause this method to return true. Apps that declare a ApplicationInfo.targetSdkVersion of earlier than Build.VERSION_CODES.O will continue to see this method return false for views not explicitly marked as focusable. Use hasExplicitFocusable() if you require the pre-Build.VERSION_CODES.O behavior.

Returns
boolean true if the view is focusable or if the view contains a focusable view, false otherwise

See also:

hasNestedScrollingParent

added in API level 21

 

public boolean hasNestedScrollingParent ()

Returns true if this view has a nested scrolling parent.

The presence of a nested scrolling parent indicates that this view has initiated a nested scroll and it was accepted by an ancestor view further up the view hierarchy.

Returns
boolean whether this view has a nested scrolling parent

hasOnClickListeners

added in API level 15

 

public boolean hasOnClickListeners ()

Return whether this view has an attached OnClickListener. Returns true if there is a listener, false if there is none.

Returns
boolean

hasOverlappingRendering

added in API level 16

 

public boolean hasOverlappingRendering ()

Returns whether this View has content which overlaps.

This function, intended to be overridden by specific View types, is an optimization when alpha is set on a view. If rendering overlaps in a view with alpha < 1, that view is drawn to an offscreen buffer and then composited into place, which can be expensive. If the view has no overlapping rendering, the view can draw each primitive with the appropriate alpha value directly. An example of overlapping rendering is a TextView with a background image, such as a Button. An example of non-overlapping rendering is a TextView with no background, or an ImageView with only the foreground image. The default implementation returns true; subclasses should override if they have cases which can be optimized.

Note: The return value of this method is ignored if forceHasOverlappingRendering(boolean) has been called on this view.

Returns
boolean true if the content in this view might overlap, false otherwise.

hasPointerCapture

added in API level 26

 

public boolean hasPointerCapture ()

Checks pointer capture status.

Returns
boolean true if the view has pointer capture.

See also:

hasTransientState

added in API level 16

 

public boolean hasTransientState ()

Indicates whether the view is currently tracking transient state that the app should not need to concern itself with saving and restoring, but that the framework should take special note to preserve when possible.

A view with transient state cannot be trivially rebound from an external data source, such as an adapter binding item views in a list. This may be because the view is performing an animation, tracking user selection of content, or similar.

Returns
boolean true if the view has transient state

hasWindowFocus

added in API level 1

 

public boolean hasWindowFocus ()

Returns true if this view is in a window that currently has window focus. Note that this is not the same as the view itself having focus.

Returns
boolean True if this view is in a window that currently has window focus.

inflate

added in API level 1

 

public static View inflate (Context context, int resource, ViewGroup root)

Inflate a view from an XML resource. This convenience method wraps the LayoutInflater class, which provides a full range of options for view inflation.

Parameters
context Context: The Context object for your activity or application.
resource int: The resource ID to inflate
root ViewGroup: A view group that will be the parent. Used to properly inflate the layout_* parameters.
Returns
View

See also:

invalidate

added in API level 1

 

public void invalidate ()

Invalidate the whole view. If the view is visible, onDraw(android.graphics.Canvas) will be called at some point in the future.

This must be called from a UI thread. To call from a non-UI thread, call postInvalidate().

invalidate

added in API level 1

 

public void invalidate (Rect dirty)

This method was deprecated in API level 28.
The switch to hardware accelerated rendering in API 14 reduced the importance of the dirty rectangle. In API 21 the given rectangle is ignored entirely in favor of an internally-calculated area instead. Because of this, clients are encouraged to just call invalidate().

Mark the area defined by dirty as needing to be drawn. If the view is visible, onDraw(android.graphics.Canvas) will be called at some point in the future.

This must be called from a UI thread. To call from a non-UI thread, call postInvalidate().

WARNING: In API 19 and below, this method may be destructive to dirty.

Parameters
dirty Rect: the rectangle representing the bounds of the dirty region

invalidate

added in API level 1

 

public void invalidate (int l, int t, int r, int b)

This method was deprecated in API level 28.
The switch to hardware accelerated rendering in API 14 reduced the importance of the dirty rectangle. In API 21 the given rectangle is ignored entirely in favor of an internally-calculated area instead. Because of this, clients are encouraged to just call invalidate().

Mark the area defined by the rect (l,t,r,b) as needing to be drawn. The coordinates of the dirty rect are relative to the view. If the view is visible, onDraw(android.graphics.Canvas) will be called at some point in the future.

This must be called from a UI thread. To call from a non-UI thread, call postInvalidate().

Parameters
l int: the left position of the dirty region
t int: the top position of the dirty region
r int: the right position of the dirty region
b int: the bottom position of the dirty region

invalidateDrawable

added in API level 1

 

public void invalidateDrawable (Drawable drawable)

Invalidates the specified Drawable.

Parameters
drawable Drawable: the drawable to invalidate

This value must never be null.

invalidateOutline

added in API level 21

 

public void invalidateOutline ()

Called to rebuild this View's Outline from its outline provider

See also:

isAccessibilityFocused

added in API level 21

 

public boolean isAccessibilityFocused ()

Returns whether this View is accessibility focused.

Returns
boolean True if this View is accessibility focused.

isAccessibilityHeading

added in API level 28

 

public boolean isAccessibilityHeading ()

Gets whether this view is a heading for accessibility purposes.

Related XML Attributes:

Returns
boolean true if the view is a heading, false otherwise.

isActivated

added in API level 11

 

public boolean isActivated ()

Indicates the activation state of this view.

Returns
boolean true if the view is activated, false otherwise

isAttachedToWindow

added in API level 19

 

public boolean isAttachedToWindow ()

Returns true if this view is currently attached to a window.

Returns
boolean

isClickable

added in API level 1

 

public boolean isClickable ()

Indicates whether this view reacts to click events or not.

Related XML Attributes:

Returns
boolean true if the view is clickable, false otherwise

See also:

isContextClickable

added in API level 23

 

public boolean isContextClickable ()

Indicates whether this view reacts to context clicks or not.

Related XML Attributes:

Returns
boolean true if the view is context clickable, false otherwise

See also:

isDirty

added in API level 11

 

public boolean isDirty ()

True if this view has changed since the last time being drawn.

Returns
boolean The dirty state of this view.

isDrawingCacheEnabled

added in API level 1

 

public boolean isDrawingCacheEnabled ()

This method was deprecated in API level 28.
The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

Indicates whether the drawing cache is enabled for this view.

Returns
boolean true if the drawing cache is enabled

See also:

isDuplicateParentStateEnabled

added in API level 1

 

public boolean isDuplicateParentStateEnabled ()

Indicates whether this duplicates its drawable state from its parent.

Returns
boolean True if this view's drawable state is duplicated from the parent, false otherwise

See also:

isEnabled

added in API level 1

 

public boolean isEnabled ()

Returns the enabled status for this view. The interpretation of the enabled state varies by subclass.

Returns
boolean True if this view is enabled, false otherwise.

isFocusable

added in API level 1

 

public final boolean isFocusable ()

Returns whether this View is currently able to take focus.

Returns
boolean True if this view can take focus, or false otherwise.

isFocusableInTouchMode

added in API level 1

 

public final boolean isFocusableInTouchMode ()

When a view is focusable, it may not want to take focus when in touch mode. For example, a button would like focus when the user is navigating via a D-pad so that the user can click on it, but once the user starts touching the screen, the button shouldn't take focus

Related XML Attributes:

Returns
boolean Whether the view is focusable in touch mode.

isFocused

added in API level 1

 

public boolean isFocused ()

Returns true if this view has focus

Returns
boolean True if this view has focus, false otherwise.

isFocusedByDefault

added in API level 26

 

public final boolean isFocusedByDefault ()

Returns whether this View should receive focus when the focus is restored for the view hierarchy containing this view.

Focus gets restored for a view hierarchy when the root of the hierarchy gets added to a window or serves as a target of cluster navigation.

Related XML Attributes:

Returns
boolean true if this view is the default-focus view, false otherwise

See also:

isHapticFeedbackEnabled

added in API level 3

 

public boolean isHapticFeedbackEnabled ()

Related XML Attributes:

Returns
boolean whether this view should have haptic feedback enabled for events long presses.

See also:

isHardwareAccelerated

added in API level 11

 

public boolean isHardwareAccelerated ()

Indicates whether this view is attached to a hardware accelerated window or not.

Even if this method returns true, it does not mean that every call to draw(android.graphics.Canvas) will be made with an hardware accelerated Canvas. For instance, if this view is drawn onto an offscreen Bitmap and its window is hardware accelerated, Canvas.isHardwareAccelerated() will likely return false, and this method will return true.

Returns
boolean True if the view is attached to a window and the window is hardware accelerated; false in any other case.

isHorizontalFadingEdgeEnabled

added in API level 1

 

public boolean isHorizontalFadingEdgeEnabled ()

Indicate whether the horizontal edges are faded when the view is scrolled horizontally.

Related XML Attributes:

Returns
boolean true if the horizontal edges should are faded on scroll, false otherwise

See also:

isHorizontalScrollBarEnabled

added in API level 1

 

public boolean isHorizontalScrollBarEnabled ()

Indicate whether the horizontal scrollbar should be drawn or not. The scrollbar is not drawn by default.

Returns
boolean true if the horizontal scrollbar should be painted, false otherwise

See also:

isHovered

added in API level 14

 

public boolean isHovered ()

Returns true if the view is currently hovered.

Returns
boolean True if the view is currently hovered.

See also:

isImportantForAccessibility

added in API level 21

 

public boolean isImportantForAccessibility ()

Computes whether this view should be exposed for accessibility. In general, views that are interactive or provide information are exposed while views that serve only as containers are hidden.

If an ancestor of this view has importance IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS, this method returns false.

Otherwise, the value is computed according to the view's getImportantForAccessibility() value:

  1. IMPORTANT_FOR_ACCESSIBILITY_NO or IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS, return false
  2. IMPORTANT_FOR_ACCESSIBILITY_YES, return true
  3. IMPORTANT_FOR_ACCESSIBILITY_AUTO, return true if view satisfies any of the following:
  4. Has an accessibility pane title, see setAccessibilityPaneTitle(CharSequence)
Returns
boolean Whether the view is exposed for accessibility.

See also:

isImportantForAutofill

added in API level 26

 

public final boolean isImportantForAutofill ()

Hints the Android System whether the AssistStructure.ViewNode associated with this view is considered important for autofill purposes.

Generally speaking, a view is important for autofill if:

  1. The view can be autofilled by an AutofillService.
  2. The view contents can help an AutofillService determine how other views can be autofilled.

    For example, view containers should typically return false for performance reasons (since the important info is provided by their children), but if its properties have relevant information (for example, a resource id called credentials, it should return true. On the other hand, views representing labels or editable fields should typically return true, but in some cases they could return false (for example, if they're part of a "Captcha" mechanism).

    The value returned by this method depends on the value returned by getImportantForAutofill():

    When a view is considered important for autofill:

    On the other hand, when a view is considered not important for autofill:

    Returns
    boolean whether the view is considered important for autofill.

    See also:

      1. if it returns IMPORTANT_FOR_AUTOFILL_YES orIMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS, then it returns true
      2. if it returns IMPORTANT_FOR_AUTOFILL_NO or IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS, then it returns false
      3. if it returns IMPORTANT_FOR_AUTOFILL_AUTO, then it uses some simple heuristics that can return truein some cases (like a container with a resource id), but false in most.
      4. otherwise, it returns false.
      • The view might automatically trigger an autofill request when focused on.
      • The contents of the view are included in the ViewStructure used in an autofill request.

isInEditMode

added in API level 3

 

public boolean isInEditMode ()

Indicates whether this View is currently in edit mode. A View is usually in edit mode when displayed within a developer tool. For instance, if this View is being drawn by a visual user interface builder, this method should return true. Subclasses should check the return value of this method to provide different behaviors if their normal behavior might interfere with the host environment. For instance: the class spawns a thread in its constructor, the drawing code relies on device-specific features, etc. This method is usually checked in the drawing code of custom widgets.

Returns
boolean True if this View is in edit mode, false otherwise.

isInLayout

added in API level 18

 

public boolean isInLayout ()

Returns whether the view hierarchy is currently undergoing a layout pass. This information is useful to avoid situations such as calling requestLayout() during a layout pass.

Returns
boolean whether the view hierarchy is currently undergoing a layout pass

isInTouchMode

added in API level 1

 

public boolean isInTouchMode ()

Returns whether the device is currently in touch mode. Touch mode is entered once the user begins interacting with the device by touch, and affects various things like whether focus is always visible to the user.

Returns
boolean Whether the device is in touch mode.

isKeyboardNavigationCluster

added in API level 26

 

public final boolean isKeyboardNavigationCluster ()

Returns whether this View is a root of a keyboard navigation cluster.

Related XML Attributes:

Returns
boolean True if this view is a root of a cluster, or false otherwise.

isLaidOut

added in API level 19

 

public boolean isLaidOut ()

Returns true if this view has been through at least one layout since it was last attached to or detached from a window.

Returns
boolean

isLayoutDirectionResolved

added in API level 19

 

public boolean isLayoutDirectionResolved ()

Returns
boolean true if layout direction has been resolved.

isLayoutRequested

added in API level 1

 

public boolean isLayoutRequested ()

Indicates whether or not this view's layout will be requested during the next hierarchy layout pass.

Returns
boolean true if the layout will be forced during next layout pass

isLongClickable

added in API level 1

 

public boolean isLongClickable ()

Indicates whether this view reacts to long click events or not.

Related XML Attributes:

Returns
boolean true if the view is long clickable, false otherwise

See also:

isNestedScrollingEnabled

added in API level 21

 

public boolean isNestedScrollingEnabled ()

Returns true if nested scrolling is enabled for this view.

If nested scrolling is enabled and this View class implementation supports it, this view will act as a nested scrolling child view when applicable, forwarding data about the scroll operation in progress to a compatible and cooperating nested scrolling parent.

Returns
boolean true if nested scrolling is enabled

See also:

isOpaque

added in API level 7

 

public boolean isOpaque ()

Indicates whether this View is opaque. An opaque View guarantees that it will draw all the pixels overlapping its bounds using a fully opaque color. Subclasses of View should override this method whenever possible to indicate whether an instance is opaque. Opaque Views are treated in a special way by the View hierarchy, possibly allowing it to perform optimizations during invalidate/draw passes.

Returns
boolean True if this View is guaranteed to be fully opaque, false otherwise.

isPaddingRelative

added in API level 17

 

public boolean isPaddingRelative ()

Return if the padding has been set through relative values setPaddingRelative(int, int, int, int) or through

Related XML Attributes:

Returns
boolean true if the padding is relative or false if it is not.

isPivotSet

added in API level 28

 

public boolean isPivotSet ()

Returns whether or not a pivot has been set by a call to setPivotX(float) or setPivotY(float). If no pivot has been set then the pivot will be the center of the view.

Returns
boolean True if a pivot has been set, false if the default pivot is being used

isPressed

added in API level 1

 

public boolean isPressed ()

Indicates whether the view is currently in pressed state. Unless setPressed(boolean) is explicitly called, only clickable views can enter the pressed state.

Returns
boolean true if the view is currently pressed, false otherwise

See also:

isSaveEnabled

added in API level 1

 

public boolean isSaveEnabled ()

Indicates whether this view will save its state (that is, whether its onSaveInstanceState() method will be called).

Related XML Attributes:

Returns
boolean Returns true if the view state saving is enabled, else false.

See also:

isSaveFromParentEnabled

added in API level 11

 

public boolean isSaveFromParentEnabled ()

Indicates whether the entire hierarchy under this view will save its state when a state saving traversal occurs from its parent. The default is true; if false, these views will not be saved unless saveHierarchyState(SparseArray) is called directly on this view.

Returns
boolean Returns true if the view state saving from parent is enabled, else false.

See also:

isScreenReaderFocusable

added in API level 28

 

public boolean isScreenReaderFocusable ()

Returns whether the view should be treated as a focusable unit by screen reader accessibility tools.

Returns
boolean Whether the view should be treated as a focusable unit by screen reader.

See also:

isScrollContainer

added in API level 16

 

public boolean isScrollContainer ()

Indicates whether this view is one of the set of scrollable containers in its window.

Related XML Attributes:

Returns
boolean whether this view is one of the set of scrollable containers in its window

isScrollbarFadingEnabled

added in API level 5

 

public boolean isScrollbarFadingEnabled ()

Returns true if scrollbars will fade when this view is not scrolling

Related XML Attributes:

Returns
boolean true if scrollbar fading is enabled

isSelected

added in API level 1

 

public boolean isSelected ()

Indicates the selection state of this view.

Returns
boolean true if the view is selected, false otherwise

isShown

added in API level 1

 

public boolean isShown ()

Returns the visibility of this view and all of its ancestors

Returns
boolean True if this view and all of its ancestors are VISIBLE

isSoundEffectsEnabled

added in API level 1

 

public boolean isSoundEffectsEnabled ()

Related XML Attributes:

Returns
boolean whether this view should have sound effects enabled for events such as clicking and touching.

See also:

isTemporarilyDetached

added in API level 24

 

public final boolean isTemporarilyDetached ()

Tells whether the View is in the state between onStartTemporaryDetach() and onFinishTemporaryDetach().

This method always returns true when called directly or indirectly from onStartTemporaryDetach(). The return value when called directly or indirectly from onFinishTemporaryDetach(), however, depends on the OS version.

Returns
boolean true when the View is in the state between onStartTemporaryDetach() and onFinishTemporaryDetach().

isTextAlignmentResolved

added in API level 19

 

public boolean isTextAlignmentResolved ()

Returns
boolean true if text alignment is resolved.

isTextDirectionResolved

added in API level 19

 

public boolean isTextDirectionResolved ()

Returns
boolean true if text direction is resolved.

isVerticalFadingEdgeEnabled

added in API level 1

 

public boolean isVerticalFadingEdgeEnabled ()

Indicate whether the vertical edges are faded when the view is scrolled horizontally.

Related XML Attributes:

Returns
boolean true if the vertical edges should are faded on scroll, false otherwise

See also:

isVerticalScrollBarEnabled

added in API level 1

 

public boolean isVerticalScrollBarEnabled ()

Indicate whether the vertical scrollbar should be drawn or not. The scrollbar is not drawn by default.

Returns
boolean true if the vertical scrollbar should be painted, false otherwise

See also:

isVisibleToUserForAutofill

added in API level 28

 

public boolean isVisibleToUserForAutofill (int virtualId)

Computes whether this virtual autofill view is visible to the user.

Note: By default it returns true, but views providing a virtual hierarchy view must override it.

Parameters
virtualId int
Returns
boolean Whether the view is visible on the screen.

jumpDrawablesToCurrentState

added in API level 11

 

public void jumpDrawablesToCurrentState ()

Call Drawable.jumpToCurrentState() on all Drawable objects associated with this view.

Also calls StateListAnimator.jumpToCurrentState() if there is a StateListAnimator attached to this view.

If you override this method you must call through to the superclass implementation.

keyboardNavigationClusterSearch

added in API level 26

 

public View keyboardNavigationClusterSearch (View currentCluster, int direction)

Find the nearest keyboard navigation cluster in the specified direction. This does not actually give focus to that cluster.

Parameters
currentCluster View: The starting point of the search. Null means the current cluster is not found yet
direction int: Direction to look

Value is FOCUS_BACKWARDFOCUS_FORWARDFOCUS_LEFTFOCUS_UPFOCUS_RIGHT or FOCUS_DOWN.

Returns
View The nearest keyboard navigation cluster in the specified direction, or null if none can be found

layout

added in API level 1

 

public void layout (int l, int t, int r, int b)

Assign a size and position to a view and all of its descendants

This is the second phase of the layout mechanism. (The first is measuring). In this phase, each parent calls layout on all of its children to position them. This is typically done using the child measurements that were stored in the measure pass().

Derived classes should not override this method. Derived classes with children should override onLayout. In that method, they should call layout on each of their children.

Parameters
l int: Left position, relative to parent
t int: Top position, relative to parent
r int: Right position, relative to parent
b int: Bottom position, relative to parent

measure

added in API level 1

 

public final void measure (int widthMeasureSpec, int heightMeasureSpec)

This is called to find out how big a view should be. The parent supplies constraint information in the width and height parameters.

The actual measurement work of a view is performed in onMeasure(int, int), called by this method. Therefore, onlyonMeasure(int, int) can and must be overridden by subclasses.

Parameters
widthMeasureSpec int: Horizontal space requirements as imposed by the parent
heightMeasureSpec int: Vertical space requirements as imposed by the parent

See also:

offsetLeftAndRight

added in API level 1

 

public void offsetLeftAndRight (int offset)

Offset this view's horizontal location by the specified amount of pixels.

Parameters
offset int: the number of pixels to offset the view by

offsetTopAndBottom

added in API level 1

 

public void offsetTopAndBottom (int offset)

Offset this view's vertical location by the specified number of pixels.

Parameters
offset int: the number of pixels to offset the view by

onApplyWindowInsets

added in API level 20

 

public WindowInsets onApplyWindowInsets (WindowInsets insets)

Called when the view should apply WindowInsets according to its internal policy.

This method should be overridden by views that wish to apply a policy different from or in addition to the default behavior. Clients that wish to force a view subtree to apply insets should call dispatchApplyWindowInsets(WindowInsets).

Clients may supply an View.OnApplyWindowInsetsListener to a view. If one is set it will be called during dispatch instead of this method. The listener may optionally call this method from its own implementation if it wishes to apply the view's default insets policy in addition to its own.

Implementations of this method should either return the insets parameter unchanged or a new WindowInsets cloned from the supplied insets with any insets consumed that this view applied itself. This allows new inset types added in future platform versions to pass through existing implementations unchanged without being erroneously consumed.

By default if a view's fitsSystemWindows property is set then the view will consume the system window insets and apply them as padding for the view.

Parameters
insets WindowInsets: Insets to apply
Returns
WindowInsets The supplied insets with any applied insets consumed

onCancelPendingInputEvents

added in API level 19

 

public void onCancelPendingInputEvents ()

Called as the result of a call to cancelPendingInputEvents() on this view or a parent view.

This method is responsible for removing any pending high-level input events that were posted to the event queue to run later. Custom view classes that post their own deferred high-level events via post(Runnable)postDelayed(Runnable, long) or Handler should override this method, callsuper.onCancelPendingInputEvents() and remove those callbacks as appropriate.

onCapturedPointerEvent

added in API level 26

 

public boolean onCapturedPointerEvent (MotionEvent event)

Implement this method to handle captured pointer events

Parameters
event MotionEvent: The captured pointer event.
Returns
boolean True if the event was handled, false otherwise.

See also:

onCheckIsTextEditor

added in API level 3

 

public boolean onCheckIsTextEditor ()

Check whether the called view is a text editor, in which case it would make sense to automatically display a soft input window for it. Subclasses should override this if they implement onCreateInputConnection(EditorInfo) to return true if a call on that method would return a non-null InputConnection, and they are really a first-class editor that the user would normally start typing on when the go into a window containing your view.

The default implementation always returns false. This does not mean that its onCreateInputConnection(EditorInfo) will not be called or the user can not otherwise perform edits on your view; it is just a hint to the system that this is not the primary purpose of this view.

Returns
boolean Returns true if this view is a text editor, else false.

onCreateInputConnection

added in API level 3

 

public InputConnection onCreateInputConnection (EditorInfo outAttrs)

Create a new InputConnection for an InputMethod to interact with the view. The default implementation returns null, since it doesn't support input methods. You can override this to implement such support. This is only needed for views that take focus and text input.

When implementing this, you probably also want to implement onCheckIsTextEditor() to indicate you will return a non-null InputConnection.

Also, take good care to fill in the EditorInfo object correctly and in its entirety, so that the connected IME can rely on its values. For example, EditorInfo.initialSelStart and EditorInfo.initialSelEnd members must be filled in with the correct cursor position for IMEs to work correctly with your application.

Parameters
outAttrs EditorInfo: Fill in with attribute information about the connection.
Returns
InputConnection

onDragEvent

added in API level 11

 

public boolean onDragEvent (DragEvent event)

Handles drag events sent by the system following a call to startDragAndDrop().

When the system calls this method, it passes a DragEvent object. A call to DragEvent.getAction() returns one of the action type constants defined in DragEvent. The method uses these to determine what is happening in the drag and drop operation.

Parameters
event DragEvent: The DragEvent sent by the system. The DragEvent.getAction() method returns an action type constant defined in DragEvent, indicating the type of drag event represented by this object.
Returns
boolean true if the method was successful, otherwise false.

The method should return true in response to an action type ofDragEvent.ACTION_DRAG_STARTED to receive drag events for the current operation.

The method should also return true in response to an action type of DragEvent.ACTION_DROP if it consumed the drop, or false if it didn't.

For all other events, the return value is ignored.

onDrawForeground

added in API level 23

 

public void onDrawForeground (Canvas canvas)

Draw any foreground content for this view.

Foreground content may consist of scroll bars, a foreground drawable or other view-specific decorations. The foreground is drawn on top of the primary view content.

Parameters
canvas Canvas: canvas to draw into

onFilterTouchEventForSecurity

added in API level 9

 

public boolean onFilterTouchEventForSecurity (MotionEvent event)

Filter the touch event to apply security policies.

Parameters
event MotionEvent: The motion event to be filtered.
Returns
boolean True if the event should be dispatched, false if the event should be dropped.

See also:

onFinishTemporaryDetach

added in API level 3

 

public void onFinishTemporaryDetach ()

Called after onStartTemporaryDetach() when the container is done changing the view.

onGenericMotionEvent

added in API level 12

 

public boolean onGenericMotionEvent (MotionEvent event)

Implement this method to handle generic motion events.

Generic motion events describe joystick movements, mouse hovers, track pad touches, scroll wheel movements and other input events. The source of the motion event specifies the class of input that was received. Implementations of this method must examine the bits in the source before processing the event. The following code example shows how this is done.

Generic motion events with source class InputDevice.SOURCE_CLASS_POINTER are delivered to the view under the pointer. All other generic motion events are delivered to the focused view.

 

public boolean onGenericMotionEvent(MotionEvent event) { if (event.isFromSource(InputDevice.SOURCE_CLASS_JOYSTICK)) { if (event.getAction() == MotionEvent.ACTION_MOVE) { // process the joystick movement... return true; } } if (event.isFromSource(InputDevice.SOURCE_CLASS_POINTER)) { switch (event.getAction()) { case MotionEvent.ACTION_HOVER_MOVE: // process the mouse hover movement... return true; case MotionEvent.ACTION_SCROLL: // process the scroll wheel movement... return true; } } return super.onGenericMotionEvent(event); }

Parameters
event MotionEvent: The generic motion event being processed.
Returns
boolean True if the event was handled, false otherwise.

onHoverChanged

added in API level 14

 

public void onHoverChanged (boolean hovered)

Implement this method to handle hover state changes.

This method is called whenever the hover state changes as a result of a call to setHovered(boolean).

Parameters
hovered boolean: The current hover state, as returned by isHovered().

See also:

onHoverEvent

added in API level 14

 

public boolean onHoverEvent (MotionEvent event)

Implement this method to handle hover events.

This method is called whenever a pointer is hovering into, over, or out of the bounds of a view and the view is not currently being touched. Hover events are represented as pointer events with actionMotionEvent.ACTION_HOVER_ENTERMotionEvent.ACTION_HOVER_MOVE, or MotionEvent.ACTION_HOVER_EXIT.

  • The view receives a hover event with action MotionEvent.ACTION_HOVER_ENTER when the pointer enters the bounds of the view.
  • The view receives a hover event with action MotionEvent.ACTION_HOVER_MOVE when the pointer has already entered the bounds of the view and has moved.
  • The view receives a hover event with action MotionEvent.ACTION_HOVER_EXIT when the pointer has exited the bounds of the view or when the pointer is about to go down due to a button click, tap, or similar user action that causes the view to be touched.

The view should implement this method to return true to indicate that it is handling the hover event, such as by changing its drawable state.

The default implementation calls setHovered(boolean) to update the hovered state of the view when a hover enter or hover exit event is received, if the view is enabled and is clickable. The default implementation also sends hover accessibility events.

Parameters
event MotionEvent: The motion event that describes the hover.
Returns
boolean True if the view handled the hover event.

See also:

onInitializeAccessibilityEvent

added in API level 14

 

public void onInitializeAccessibilityEvent (AccessibilityEvent event)

Initializes an AccessibilityEvent with information about this View which is the event source. In other words, the source of an accessibility event is the view whose state change triggered firing the event.

Example: Setting the password property of an event in addition to properties set by the super implementation:

 

public void onInitializeAccessibilityEvent(AccessibilityEvent event) { super.onInitializeAccessibilityEvent(event); event.setPassword(true); }

If an View.AccessibilityDelegate has been specified via callingsetAccessibilityDelegate(AccessibilityDelegate) itsView.AccessibilityDelegate.onInitializeAccessibilityEvent(View, AccessibilityEvent) is responsible for handling this call.

Note: Always call the super implementation before adding information to the event, in case the default implementation has basic information to add.

If you override this method you must call through to the superclass implementation.

Parameters
event AccessibilityEvent: The event to initialize.

See also:

onInitializeAccessibilityNodeInfo

added in API level 14

 

public void onInitializeAccessibilityNodeInfo (AccessibilityNodeInfo info)

Initializes an AccessibilityNodeInfo with information about this view. The base implementation sets:

Subclasses should override this method, call the super implementation, and set additional attributes.

If an View.AccessibilityDelegate has been specified via callingsetAccessibilityDelegate(AccessibilityDelegate) itsView.AccessibilityDelegate.onInitializeAccessibilityNodeInfo(View, AccessibilityNodeInfo) is responsible for handling this call.

If you override this method you must call through to the superclass implementation.

Parameters
info AccessibilityNodeInfo: The instance to initialize.

onKeyDown

added in API level 1

 

public boolean onKeyDown (int keyCode, KeyEvent event)

Default implementation of KeyEvent.Callback.onKeyDown(): perform press of the view when KeyEvent.KEYCODE_DPAD_CENTER or KeyEvent.KEYCODE_ENTER is released, if the view is enabled and clickable.

Key presses in software keyboards will generally NOT trigger this listener, although some may elect to do so in some situations. Do not rely on this to catch software key presses.

Parameters
keyCode int: a key code that represents the button pressed, from KeyEvent
event KeyEvent: the KeyEvent object that defines the button action
Returns
boolean If you handled the event, return true. If you want to allow the event to be handled by the next receiver, return false.

onKeyLongPress

added in API level 5

 

public boolean onKeyLongPress (int keyCode, KeyEvent event)

Default implementation of KeyEvent.Callback.onKeyLongPress(): always returns false (doesn't handle the event).

Key presses in software keyboards will generally NOT trigger this listener, although some may elect to do so in some situations. Do not rely on this to catch software key presses.

Parameters
keyCode int: The value in event.getKeyCode().
event KeyEvent: Description of the key event.
Returns
boolean If you handled the event, return true. If you want to allow the event to be handled by the next receiver, return false.

onKeyMultiple

added in API level 1

 

public boolean onKeyMultiple (int keyCode, int repeatCount, KeyEvent event)

Default implementation of KeyEvent.Callback.onKeyMultiple(): always returns false (doesn't handle the event).

Key presses in software keyboards will generally NOT trigger this listener, although some may elect to do so in some situations. Do not rely on this to catch software key presses.

Parameters
keyCode int: A key code that represents the button pressed, from KeyEvent.
repeatCount int: The number of times the action was made.
event KeyEvent: The KeyEvent object that defines the button action.
Returns
boolean If you handled the event, return true. If you want to allow the event to be handled by the next receiver, return false.

onKeyPreIme

added in API level 3

 

public boolean onKeyPreIme (int keyCode, KeyEvent event)

Handle a key event before it is processed by any input method associated with the view hierarchy. This can be used to intercept key events in special situations before the IME consumes them; a typical example would be handling the BACK key to update the application's UI instead of allowing the IME to see it and close itself.

Parameters
keyCode int: The value in event.getKeyCode().
event KeyEvent: Description of the key event.
Returns
boolean If you handled the event, return true. If you want to allow the event to be handled by the next receiver, return false.

onKeyShortcut

added in API level 1

 

public boolean onKeyShortcut (int keyCode, KeyEvent event)

Called on the focused view when a key shortcut event is not handled. Override this method to implement local key shortcuts for the View. Key shortcuts can also be implemented by setting the shortcut property of menu items.

Parameters
keyCode int: The value in event.getKeyCode().
event KeyEvent: Description of the key event.
Returns
boolean If you handled the event, return true. If you want to allow the event to be handled by the next receiver, return false.

onKeyUp

added in API level 1

 

public boolean onKeyUp (int keyCode, KeyEvent event)

Default implementation of KeyEvent.Callback.onKeyUp(): perform clicking of the view when KeyEvent.KEYCODE_DPAD_CENTERKeyEvent.KEYCODE_ENTER or KeyEvent.KEYCODE_SPACE is released.

Key presses in software keyboards will generally NOT trigger this listener, although some may elect to do so in some situations. Do not rely on this to catch software key presses.

Parameters
keyCode int: A key code that represents the button pressed, from KeyEvent.
event KeyEvent: The KeyEvent object that defines the button action.
Returns
boolean If you handled the event, return true. If you want to allow the event to be handled by the next receiver, return false.

onPointerCaptureChange

added in API level 26

 

public void onPointerCaptureChange (boolean hasCapture)

Called when the window has just acquired or lost pointer capture.

If you override this method you must call through to the superclass implementation.

Parameters
hasCapture boolean: True if the view now has pointerCapture, false otherwise.

onPopulateAccessibilityEvent

added in API level 14

 

public void onPopulateAccessibilityEvent (AccessibilityEvent event)

Called from dispatchPopulateAccessibilityEvent(AccessibilityEvent) giving a chance to this View to populate the accessibility event with its text content. While this method is free to modify event attributes other than text content, doing so should normally be performed in onInitializeAccessibilityEvent(AccessibilityEvent).

Example: Adding formatted date string to an accessibility event in addition to the text added by the super implementation:

 

public void onPopulateAccessibilityEvent(AccessibilityEvent event) { super.onPopulateAccessibilityEvent(event); final int flags = DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_WEEKDAY; String selectedDateUtterance = DateUtils.formatDateTime(mContext, mCurrentDate.getTimeInMillis(), flags); event.getText().add(selectedDateUtterance); }

If an View.AccessibilityDelegate has been specified via callingsetAccessibilityDelegate(AccessibilityDelegate) itsView.AccessibilityDelegate.onPopulateAccessibilityEvent(View, AccessibilityEvent) is responsible for handling this call.

Note: Always call the super implementation before adding information to the event, in case the default implementation has basic information to add.

If you override this method you must call through to the superclass implementation.

Parameters
event AccessibilityEvent: The accessibility event which to populate.

See also:

onProvideAutofillStructure

added in API level 26

 

public void onProvideAutofillStructure (ViewStructure structure, int flags)

Populates a ViewStructure to fullfil an autofill request.

The structure should contain at least the following properties:

It's also recommended to set the following properties - the more properties the structure has, the higher the changes of an AutofillService properly using the structure:

The default implementation of this method already sets most of these properties based on related View methods (for example, the autofill id is set using getAutofillId(), the autofill type set using getAutofillType(), etc.), and views in the standard Android widgets library also override it to set their relevant properties (for example, TextView already sets the text properties), so it's recommended to only override this method (and call super.onProvideAutofillStructure()) when:

Note: The left and top values set in ViewStructure.setDimens(int, int, int, int, int, int) must be relative to the next isImportantForAutofill() predecessor view included in the structure.

Views support the Autofill Framework mainly by:

  • Providing the metadata defining what the view means and how it can be autofilled.
  • Notifying the Android System when the view value changed by callingAutofillManager.notifyValueChanged(View).
  • Implementing the methods that autofill the view.

This method is responsible for the former; autofill(AutofillValue) is responsible for the latter.

Parameters
structure ViewStructure: fill in with structured view data for autofill purposes.
flags int: optional flags.

Value is either 0 or AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS.

See also:

onProvideAutofillVirtualStructure

added in API level 26

 

public void onProvideAutofillVirtualStructure (ViewStructure structure, int flags)

Populates a ViewStructure containing virtual children to fullfil an autofill request.

This method should be used when the view manages a virtual structure under this view. For example, a view that draws input fields using draw(Canvas).

When implementing this method, subclasses must follow the rules below:

Views with virtual children support the Autofill Framework mainly by:

  • Providing the metadata defining what the virtual children mean and how they can be autofilled.
  • Implementing the methods that autofill the virtual children.

This method is responsible for the former; autofill(SparseArray) is responsible for the latter.

Parameters
structure ViewStructure: fill in with virtual children data for autofill purposes.
flags int: optional flags.

See also:

onProvideStructure

added in API level 23

 

public void onProvideStructure (ViewStructure structure)

Called when assist structure is being retrieved from a view as part of Activity.onProvideAssistData.

Parameters
structure ViewStructure: Fill in with structured view data. The default implementation fills in all data that can be inferred from the view itself.

onProvideVirtualStructure

added in API level 23

 

public void onProvideVirtualStructure (ViewStructure structure)

Called when assist structure is being retrieved from a view as part of Activity.onProvideAssistData to generate additional virtual structure under this view. The defaullt implementation uses getAccessibilityNodeProvider() to try to generate this from the view's virtual accessibility nodes, if any. You can override this for a more optimal implementation providing this data.

Parameters
structure ViewStructure

onResolvePointerIcon

added in API level 24

 

public PointerIcon onResolvePointerIcon (MotionEvent event, int pointerIndex)

Returns the pointer icon for the motion event, or null if it doesn't specify the icon. The default implementation does not care the location or event types, but some subclasses may use it (such as WebViews).

Parameters
event MotionEvent: The MotionEvent from a mouse
pointerIndex int: The index of the pointer for which to retrieve the PointerIcon. This will be between 0 and MotionEvent.getPointerCount().
Returns
PointerIcon

See also:

onRtlPropertiesChanged

added in API level 17

 

public void onRtlPropertiesChanged (int layoutDirection)

Called when any RTL property (layout direction or text direction or text alignment) has been changed. Subclasses need to override this method to take care of cached information that depends on the resolved layout direction, or to inform child views that inherit their layout direction. The default implementation does nothing.

Parameters
layoutDirection int: the direction of the layout

Value is LAYOUT_DIRECTION_LTR or LAYOUT_DIRECTION_RTL.

See also:

onScreenStateChanged

added in API level 16

 

public void onScreenStateChanged (int screenState)

This method is called whenever the state of the screen this view is attached to changes. A state change will usually occurs when the screen turns on or off (whether it happens automatically or the user does it manually.)

Parameters
screenState int: The new state of the screen. Can be either SCREEN_STATE_ON or SCREEN_STATE_OFF

onStartTemporaryDetach

added in API level 3

 

public void onStartTemporaryDetach ()

This is called when a container is going to temporarily detach a child, with ViewGroup.detachViewFromParent. It will either be followed by onFinishTemporaryDetach() or onDetachedFromWindow() when the container is done.

onTouchEvent

added in API level 1

 

public boolean onTouchEvent (MotionEvent event)

Implement this method to handle touch screen motion events.

If this method is used to detect click actions, it is recommended that the actions be performed by implementing and calling performClick(). This will ensure consistent system behavior, including:

  • obeying click sound preferences
  • dispatching OnClickListener calls
  • handling ACTION_CLICK when accessibility features are enabled
Parameters
event MotionEvent: The motion event.
Returns
boolean True if the event was handled, false otherwise.

onTrackballEvent

added in API level 1

 

public boolean onTrackballEvent (MotionEvent event)

Implement this method to handle trackball motion events. The relative movement of the trackball since the last event can be retrieve with MotionEvent.getX() and MotionEvent.getY(). These are normalized so that a movement of 1 corresponds to the user pressing one DPAD key (so they will often be fractional values, representing the more fine-grained movement information available from a trackball).

Parameters
event MotionEvent: The motion event.
Returns
boolean True if the event was handled, false otherwise.

onVisibilityAggregated

added in API level 24

 

public void onVisibilityAggregated (boolean isVisible)

Called when the user-visibility of this View is potentially affected by a change to this view itself, an ancestor view or the window this view is attached to.

If you override this method you must call through to the superclass implementation.

Parameters
isVisible boolean: true if this view and all of its ancestors are VISIBLE and this view's window is also visible

onWindowFocusChanged

added in API level 1

 

public void onWindowFocusChanged (boolean hasWindowFocus)

Called when the window containing this view gains or loses focus. Note that this is separate from view focus: to receive key events, both your view and its window must have focus. If a window is displayed on top of yours that takes input focus, then your own window will lose focus but the view focus will remain unchanged.

Parameters
hasWindowFocus boolean: True if the window containing this view now has focus, false otherwise.

onWindowSystemUiVisibilityChanged

added in API level 16

 

public void onWindowSystemUiVisibilityChanged (int visible)

Override to find out when the window's requested system UI visibility has changed, that is the value returned by getWindowSystemUiVisibility(). This is different from the callbacks received throughsetOnSystemUiVisibilityChangeListener(OnSystemUiVisibilityChangeListener) in that this is only telling you about the local request of the window, not the actual values applied by the system.

Parameters
visible int

performAccessibilityAction

added in API level 16

 

public boolean performAccessibilityAction (int action, Bundle arguments)

Performs the specified accessibility action on the view. For possible accessibility actions look at AccessibilityNodeInfo.

If an View.AccessibilityDelegate has been specified via callingsetAccessibilityDelegate(AccessibilityDelegate) itsView.AccessibilityDelegate.performAccessibilityAction(View, int, Bundle) is responsible for handling this call.

The default implementation will delegate AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD andAccessibilityNodeInfo.ACTION_SCROLL_FORWARD to nested scrolling parents if nested scrolling is enabled on this view.

Parameters
action int: The action to perform.
arguments Bundle: Optional action arguments.
Returns
boolean Whether the action was performed.

performClick

added in API level 1

 

public boolean performClick ()

Call this view's OnClickListener, if it is defined. Performs all normal actions associated with clicking: reporting accessibility event, playing a sound, etc.

Returns
boolean True there was an assigned OnClickListener that was called, false otherwise is returned.

performContextClick

added in API level 24

 

public boolean performContextClick (float x, float y)

Call this view's OnContextClickListener, if it is defined.

Parameters
x float: the x coordinate of the context click
y float: the y coordinate of the context click
Returns
boolean True if there was an assigned OnContextClickListener that consumed the event, false otherwise.

performContextClick

added in API level 23

 

public boolean performContextClick ()

Call this view's OnContextClickListener, if it is defined.

Returns
boolean True if there was an assigned OnContextClickListener that consumed the event, false otherwise.

performHapticFeedback

added in API level 3

 

public boolean performHapticFeedback (int feedbackConstant)

BZZZTT!!1!

Provide haptic feedback to the user for this view.

The framework will provide haptic feedback for some built in actions, such as long presses, but you may wish to provide feedback for your own widget.

The feedback will only be performed if isHapticFeedbackEnabled() is true.

Parameters
feedbackConstant int: One of the constants defined in HapticFeedbackConstants
Returns
boolean

performHapticFeedback

added in API level 3

 

public boolean performHapticFeedback (int feedbackConstant, int flags)

BZZZTT!!1!

Like performHapticFeedback(int), with additional options.

Parameters
feedbackConstant int: One of the constants defined in HapticFeedbackConstants
flags int: Additional flags as per HapticFeedbackConstants.
Returns
boolean

performLongClick

added in API level 24

 

public boolean performLongClick (float x, float y)

Calls this view's OnLongClickListener, if it is defined. Invokes the context menu if the OnLongClickListener did not consume the event, anchoring it to an (x,y) coordinate.

Parameters
x float: x coordinate of the anchoring touch event, or Float.NaN to disable anchoring
y float: y coordinate of the anchoring touch event, or Float.NaN to disable anchoring
Returns
boolean true if one of the above receivers consumed the event, false otherwise

performLongClick

added in API level 1

 

public boolean performLongClick ()

Calls this view's OnLongClickListener, if it is defined. Invokes the context menu if the OnLongClickListener did not consume the event.

Returns
boolean true if one of the above receivers consumed the event, false otherwise

playSoundEffect

added in API level 1

 

public void playSoundEffect (int soundConstant)

Play a sound effect for this view.

The framework will play sound effects for some built in actions, such as clicking, but you may wish to play these effects in your widget, for instance, for internal navigation.

The sound effect will only be played if sound effects are enabled by the user, and isSoundEffectsEnabled() is true.

Parameters
soundConstant int: One of the constants defined in SoundEffectConstants

post

added in API level 1

 

public boolean post (Runnable action)

Causes the Runnable to be added to the message queue. The runnable will be run on the user interface thread.

Parameters
action Runnable: The Runnable that will be executed.
Returns
boolean Returns true if the Runnable was successfully placed in to the message queue. Returns false on failure, usually because the looper processing the message queue is exiting.

See also:

postDelayed

added in API level 1

 

public boolean postDelayed (Runnable action, long delayMillis)

Causes the Runnable to be added to the message queue, to be run after the specified amount of time elapses. The runnable will be run on the user interface thread.

Parameters
action Runnable: The Runnable that will be executed.
delayMillis long: The delay (in milliseconds) until the Runnable will be executed.
Returns
boolean true if the Runnable was successfully placed in to the message queue. Returns false on failure, usually because the looper processing the message queue is exiting. Note that a result of true does not mean the Runnable will be processed -- if the looper is quit before the delivery time of the message occurs then the message will be dropped.

See also:

postInvalidate

added in API level 1

 

public void postInvalidate ()

Cause an invalidate to happen on a subsequent cycle through the event loop. Use this to invalidate the View from a non-UI thread.

This method can be invoked from outside of the UI thread only when this View is attached to a window.

See also:

postInvalidate

added in API level 1

 

public void postInvalidate (int left, int top, int right, int bottom)

Cause an invalidate of the specified area to happen on a subsequent cycle through the event loop. Use this to invalidate the View from a non-UI thread.

This method can be invoked from outside of the UI thread only when this View is attached to a window.

Parameters
left int: The left coordinate of the rectangle to invalidate.
top int: The top coordinate of the rectangle to invalidate.
right int: The right coordinate of the rectangle to invalidate.
bottom int: The bottom coordinate of the rectangle to invalidate.

See also:

postInvalidateDelayed

added in API level 1

 

public void postInvalidateDelayed (long delayMilliseconds, int left, int top, int right, int bottom)

Cause an invalidate of the specified area to happen on a subsequent cycle through the event loop. Waits for the specified amount of time.

This method can be invoked from outside of the UI thread only when this View is attached to a window.

Parameters
delayMilliseconds long: the duration in milliseconds to delay the invalidation by
left int: The left coordinate of the rectangle to invalidate.
top int: The top coordinate of the rectangle to invalidate.
right int: The right coordinate of the rectangle to invalidate.
bottom int: The bottom coordinate of the rectangle to invalidate.

See also:

postInvalidateDelayed

added in API level 1

 

public void postInvalidateDelayed (long delayMilliseconds)

Cause an invalidate to happen on a subsequent cycle through the event loop. Waits for the specified amount of time.

This method can be invoked from outside of the UI thread only when this View is attached to a window.

Parameters
delayMilliseconds long: the duration in milliseconds to delay the invalidation by

See also:

postInvalidateOnAnimation

added in API level 16

 

public void postInvalidateOnAnimation (int left, int top, int right, int bottom)

Cause an invalidate of the specified area to happen on the next animation time step, typically the next display frame.

This method can be invoked from outside of the UI thread only when this View is attached to a window.

Parameters
left int: The left coordinate of the rectangle to invalidate.
top int: The top coordinate of the rectangle to invalidate.
right int: The right coordinate of the rectangle to invalidate.
bottom int: The bottom coordinate of the rectangle to invalidate.

See also:

postInvalidateOnAnimation

added in API level 16

 

public void postInvalidateOnAnimation ()

Cause an invalidate to happen on the next animation time step, typically the next display frame.

This method can be invoked from outside of the UI thread only when this View is attached to a window.

See also:

postOnAnimation

added in API level 16

 

public void postOnAnimation (Runnable action)

Causes the Runnable to execute on the next animation time step. The runnable will be run on the user interface thread.

Parameters
action Runnable: The Runnable that will be executed.

See also:

postOnAnimationDelayed

added in API level 16

 

public void postOnAnimationDelayed (Runnable action, long delayMillis)

Causes the Runnable to execute on the next animation time step, after the specified amount of time elapses. The runnable will be run on the user interface thread.

Parameters
action Runnable: The Runnable that will be executed.
delayMillis long: The delay (in milliseconds) until the Runnable will be executed.

See also:

refreshDrawableState

added in API level 1

 

public void refreshDrawableState ()

Call this to force a view to update its drawable state. This will cause drawableStateChanged to be called on this view. Views that are interested in the new state should call getDrawableState.

See also:

releasePointerCapture

added in API level 26

 

public void releasePointerCapture ()

Releases the pointer capture.

If the window does not have pointer capture, this call will do nothing.

See also:

removeCallbacks

added in API level 1

 

public boolean removeCallbacks (Runnable action)

Removes the specified Runnable from the message queue.

Parameters
action Runnable: The Runnable to remove from the message handling queue
Returns
boolean true if this view could ask the Handler to remove the Runnable, false otherwise. When the returned value is true, the Runnable may or may not have been actually removed from the message queue (for instance, if the Runnable was not in the queue already.)

See also:

removeOnAttachStateChangeListener

added in API level 12

 

public void removeOnAttachStateChangeListener (View.OnAttachStateChangeListener listener)

Remove a listener for attach state changes. The listener will receive no further notification of window attach/detach events.

Parameters
listener View.OnAttachStateChangeListener: Listener to remove

See also:

removeOnLayoutChangeListener

added in API level 11

 

public void removeOnLayoutChangeListener (View.OnLayoutChangeListener listener)

Remove a listener for layout changes.

Parameters
listener View.OnLayoutChangeListener: The listener for layout bounds change.

removeOnUnhandledKeyEventListener

added in API level 28

 

public void removeOnUnhandledKeyEventListener (View.OnUnhandledKeyEventListener listener)

Removes a listener which will receive unhandled KeyEvents. This must be called on the UI thread.

Parameters
listener View.OnUnhandledKeyEventListener: a receiver of unhandled KeyEvents.

See also:

requestApplyInsets

added in API level 20

 

public void requestApplyInsets ()

Ask that a new dispatch of onApplyWindowInsets(WindowInsets) be performed.

requestFitSystemWindows

added in API level 16

 

public void requestFitSystemWindows ()

This method was deprecated in API level 20.
Use requestApplyInsets() for newer platform versions.

Ask that a new dispatch of fitSystemWindows(Rect) be performed.

requestFocus

added in API level 1

 

public final boolean requestFocus (int direction)

Call this to try to give focus to a specific view or to one of its descendants and give it a hint about what direction focus is heading. A view will not actually take focus if it is not focusable (isFocusable() returns false), or if it is focusable and it is not focusable in touch mode (isFocusableInTouchMode()) while the device is in touch mode. See also focusSearch(int), which is what you call to say that you have focus, and you want your parent to look for the next one. This is equivalent to calling requestFocus(int, Rect) with null set for the previously focused rectangle.

Parameters
direction int: One of FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT, and FOCUS_RIGHT
Returns
boolean Whether this view or one of its descendants actually took focus.

requestFocus

added in API level 1

 

public final boolean requestFocus ()

Call this to try to give focus to a specific view or to one of its descendants. A view will not actually take focus if it is not focusable (isFocusable() returns false), or if it can't be focused due to other conditions (not focusable in touch mode (isFocusableInTouchMode()) while the device is in touch mode, not visible, not enabled, or has no size). See also focusSearch(int), which is what you call to say that you have focus, and you want your parent to look for the next one. This is equivalent to calling requestFocus(int, Rect) with arguments FOCUS_DOWN and null.

Returns
boolean Whether this view or one of its descendants actually took focus.

requestFocus

added in API level 1

 

public boolean requestFocus (int direction, Rect previouslyFocusedRect)

Call this to try to give focus to a specific view or to one of its descendants and give it hints about the direction and a specific rectangle that the focus is coming from. The rectangle can help give larger views a finer grained hint about where focus is coming from, and therefore, where to show selection, or forward focus change internally. A view will not actually take focus if it is not focusable (isFocusable() returns false), or if it is focusable and it is not focusable in touch mode (isFocusableInTouchMode()) while the device is in touch mode. A View will not take focus if it is not visible. A View will not take focus if one of its parents has ViewGroup.getDescendantFocusability() equal toViewGroup.FOCUS_BLOCK_DESCENDANTS. See also focusSearch(int), which is what you call to say that you have focus, and you want your parent to look for the next one. You may wish to override this method if your custom View has an internal View that it wishes to forward the request to.

Parameters
direction int: One of FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT, and FOCUS_RIGHT
previouslyFocusedRect Rect: The rectangle (in this View's coordinate system) to give a finer grained hint about where focus is coming from. May be null if there is no hint.
Returns
boolean Whether this view or one of its descendants actually took focus.

requestFocusFromTouch

added in API level 1

 

public final boolean requestFocusFromTouch ()

Call this to try to give focus to a specific view or to one of its descendants. This is a special variant of requestFocus()that will allow views that are not focusable in touch mode to request focus when they are touched.

Returns
boolean Whether this view or one of its descendants actually took focus.

See also:

requestLayout

added in API level 1

 

public void requestLayout ()

Call this when something has changed which has invalidated the layout of this view. This will schedule a layout pass of the view tree. This should not be called while the view hierarchy is currently in a layout pass (isInLayout(). If layout is happening, the request may be honored at the end of the current layout pass (and then layout will run again) or after the current frame is drawn and the next layout occurs.

Subclasses which override this method should call the superclass method to handle possible request-during-layout errors correctly.

If you override this method you must call through to the superclass implementation.

requestPointerCapture

added in API level 26

 

public void requestPointerCapture ()

Requests pointer capture mode.

When the window has pointer capture, the mouse pointer icon will disappear and will not change its position. Further mouse will be dispatched with the source InputDevice.SOURCE_MOUSE_RELATIVE, and relative position changes will be available through MotionEvent.getX() and MotionEvent.getY(). Non-mouse events (touchscreens, or stylus) will not be affected.

If the window already has pointer capture, this call does nothing.

The capture may be released through releasePointerCapture(), or will be lost automatically when the window loses focus.

See also:

requestRectangleOnScreen

added in API level 1

 

public boolean requestRectangleOnScreen (Rect rectangle)

Request that a rectangle of this view be visible on the screen, scrolling if necessary just enough.

A View should call this if it maintains some notion of which part of its content is interesting. For example, a text editing view should call this when its cursor moves.

The Rectangle passed into this method should be in the View's content coordinate space. It should not be affected by which part of the View is currently visible or its scroll position.

Parameters
rectangle Rect: The rectangle in the View's content coordinate space
Returns
boolean Whether any parent scrolled.

requestRectangleOnScreen

added in API level 1

 

public boolean requestRectangleOnScreen (Rect rectangle, boolean immediate)

Request that a rectangle of this view be visible on the screen, scrolling if necessary just enough.

A View should call this if it maintains some notion of which part of its content is interesting. For example, a text editing view should call this when its cursor moves.

The Rectangle passed into this method should be in the View's content coordinate space. It should not be affected by which part of the View is currently visible or its scroll position.

When immediate is set to true, scrolling will not be animated.

Parameters
rectangle Rect: The rectangle in the View's content coordinate space
immediate boolean: True to forbid animated scrolling, false otherwise
Returns
boolean Whether any parent scrolled.

requestUnbufferedDispatch

added in API level 21

 

public final void requestUnbufferedDispatch (MotionEvent event)

Request unbuffered dispatch of the given stream of MotionEvents to this View. Until this View receives a corresponding MotionEvent.ACTION_UP, ask that the input system not batch MotionEvents but instead deliver them as soon as they're available. This method should only be called for touch events.

This api is not intended for most applications. Buffered dispatch provides many of benefits, and just requesting unbuffered dispatch on most MotionEvent streams will not improve your input latency. Side effects include: increased latency, jittery scrolls and inability to take advantage of system resampling. Talk to your input professional to see if requestUnbufferedDispatch(MotionEvent) is right for you.

Parameters
event MotionEvent

requireViewById

added in API level 28

 

public final T requireViewById (int id)

Finds the first descendant view with the given ID, the view itself if the ID matches getId(), 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
Returns
T a view with given ID

This value will never be null.

See also:

resetPivot

added in API level 28

 

public void resetPivot ()

Clears any pivot previously set by a call to setPivotX(float) or setPivotY(float). After calling this isPivotSet()will be false and the pivot used for rotation will return to default of being centered on the view.

resolveSize

added in API level 1

 

public static int resolveSize (int size, int measureSpec)

Version of resolveSizeAndState(int, int, int) returning only the MEASURED_SIZE_MASK bits of the result.

Parameters
size int
measureSpec int
Returns
int

resolveSizeAndState

added in API level 11

 

public static int resolveSizeAndState (int size, int measureSpec, int childMeasuredState)

Utility to reconcile a desired size and state, with constraints imposed by a MeasureSpec. Will take the desired size, unless a different size is imposed by the constraints. The returned value is a compound integer, with the resolved size in the MEASURED_SIZE_MASK bits and optionally the bit MEASURED_STATE_TOO_SMALL set if the resulting size is smaller than the size the view wants to be.

Parameters
size int: How big the view wants to be.
measureSpec int: Constraints imposed by the parent.
childMeasuredState int: Size information bit mask for the view's children.
Returns
int Size information bit mask as defined by MEASURED_SIZE_MASK andMEASURED_STATE_TOO_SMALL.

restoreDefaultFocus

added in API level 26

 

public boolean restoreDefaultFocus ()

Gives focus to the default-focus view in the view hierarchy that has this view as a root. If the default-focus view cannot be found, falls back to calling requestFocus(int).

Returns
boolean Whether this view or one of its descendants actually took focus

restoreHierarchyState

added in API level 1

 

public void restoreHierarchyState (SparseArray<Parcelable> container)

Restore this view hierarchy's frozen state from the given container.

Parameters
container SparseArray: The SparseArray which holds previously frozen states.

See also:

saveHierarchyState

added in API level 1

 

public void saveHierarchyState (SparseArray<Parcelable> container)

Store this view hierarchy's frozen state into the given container.

Parameters
container SparseArray: The SparseArray in which to save the view's state.

See also:

scheduleDrawable

added in API level 1

 

public void scheduleDrawable (Drawable who, Runnable what, long when)

Schedules an action on a drawable to occur at a specified time.

Parameters
who Drawable: the recipient of the action

This value must never be null.

what Runnable: the action to run on the drawable

This value must never be null.

when long: the time at which the action must occur. Uses the SystemClock.uptimeMillis()timebase.

scrollBy

added in API level 1

 

public void scrollBy (int x, int y)

Move the scrolled position of your view. This will cause a call to onScrollChanged(int, int, int, int) and the view will be invalidated.

Parameters
x int: the amount of pixels to scroll by horizontally
y int: the amount of pixels to scroll by vertically

scrollTo

added in API level 1

 

public void scrollTo (int x, int y)

Set the scrolled position of your view. This will cause a call to onScrollChanged(int, int, int, int) and the view will be invalidated.

Parameters
x int: the x position to scroll to
y int: the y position to scroll to

sendAccessibilityEvent

added in API level 4

 

public void sendAccessibilityEvent (int eventType)

Sends an accessibility event of the given type. If accessibility is not enabled this method has no effect. The default implementation calls onInitializeAccessibilityEvent(AccessibilityEvent) first to populate information about the event source (this View), then calls dispatchPopulateAccessibilityEvent(AccessibilityEvent) to populate the text content of the event source including its descendants, and last callsViewParent.requestSendAccessibilityEvent(View, AccessibilityEvent) on its parent to request sending of the event to interested parties.

If an View.AccessibilityDelegate has been specified via callingsetAccessibilityDelegate(AccessibilityDelegate) itsView.AccessibilityDelegate.sendAccessibilityEvent(View, int) is responsible for handling this call.

Parameters
eventType int: The type of the event to send, as defined by several types from AccessibilityEvent, such as AccessibilityEvent.TYPE_VIEW_CLICKED or AccessibilityEvent.TYPE_VIEW_HOVER_ENTER.

See also:

sendAccessibilityEventUnchecked

added in API level 4

 

public void sendAccessibilityEventUnchecked (AccessibilityEvent event)

This method behaves exactly as sendAccessibilityEvent(int) but takes as an argument an empty AccessibilityEvent and does not perform a check whether accessibility is enabled.

If an View.AccessibilityDelegate has been specified via callingsetAccessibilityDelegate(AccessibilityDelegate) itsView.AccessibilityDelegate.sendAccessibilityEventUnchecked(View, AccessibilityEvent) is responsible for handling this call.

Parameters
event AccessibilityEvent: The event to send.

See also:

setAccessibilityDelegate

added in API level 14

 

public void setAccessibilityDelegate (View.AccessibilityDelegate delegate)

Sets a delegate for implementing accessibility support via composition (as opposed to inheritance). For more details, see View.AccessibilityDelegate.

Note: On platform versions prior to API 23, delegate methods on views in the android.widget.* package are called before host methods. This prevents certain properties such as class name from being modified by overridingView.AccessibilityDelegate.onInitializeAccessibilityNodeInfo(View, AccessibilityNodeInfo), as any changes will be overwritten by the host class.

Starting in API 23, delegate methods are called after host methods, which all properties to be modified without being overwritten by the host class.

Parameters
delegate View.AccessibilityDelegate: the object to which accessibility method calls should be delegated

This value may be null.

See also:

setAccessibilityHeading

added in API level 28

 

public void setAccessibilityHeading (boolean isHeading)

Set if view is a heading for a section of content for accessibility purposes.

Related XML Attributes:

Parameters
isHeading booleantrue if the view is a heading, false otherwise.

setAccessibilityLiveRegion

added in API level 19

 

public void setAccessibilityLiveRegion (int mode)

Sets the live region mode for this view. This indicates to accessibility services whether they should automatically notify the user about changes to the view's content description or text, or to the content descriptions or text of the view's children (where applicable).

For example, in a login screen with a TextView that displays an "incorrect password" notification, that view should be marked as a live region with mode ACCESSIBILITY_LIVE_REGION_POLITE.

To disable change notifications for this view, use ACCESSIBILITY_LIVE_REGION_NONE. This is the default live region mode for most views.

To indicate that the user should be notified of changes, use ACCESSIBILITY_LIVE_REGION_POLITE.

If the view's changes should interrupt ongoing speech and notify the user immediately, use ACCESSIBILITY_LIVE_REGION_ASSERTIVE.

Related XML Attributes:

Parameters
mode int: The live region mode for this view, one of:

setAccessibilityPaneTitle

added in API level 28

 

public void setAccessibilityPaneTitle (CharSequence accessibilityPaneTitle)

Visually distinct portion of a window with window-like semantics are considered panes for accessibility purposes. One example is the content view of a fragment that is replaced. In order for accessibility services to understand a pane's window-like behavior, panes should have descriptive titles. Views with pane titles produce AccessibilityEvents when they appear, disappear, or change title.

Parameters
accessibilityPaneTitle CharSequence: The pane's title. Setting to null indicates that this View is not a pane.

setAccessibilityTraversalAfter

added in API level 22

 

public void setAccessibilityTraversalAfter (int afterId)

Sets the id of a view after which this one is visited in accessibility traversal. A screen-reader must visit the content of the other view before the content of this one. For example, if view B is set to be after view A, then a screen-reader will traverse the entire content of A before traversing the entire content of B, regardles of what traversal strategy it is using.

Views that do not have specified before/after relationships are traversed in order determined by the screen-reader.

Setting that this view is after a view that is not important for accessibility or if this view is not important for accessibility will have no effect as the screen-reader is not aware of unimportant views.

Related XML Attributes:

Parameters
afterId int: The id of a view this one succedees in accessibility traversal.

See also:

setAccessibilityTraversalBefore

added in API level 22

 

public void setAccessibilityTraversalBefore (int beforeId)

Sets the id of a view before which this one is visited in accessibility traversal. A screen-reader must visit the content of this view before the content of the one it precedes. For example, if view B is set to be before view A, then a screen-reader will traverse the entire content of B before traversing the entire content of A, regardles of what traversal strategy it is using.

Views that do not have specified before/after relationships are traversed in order determined by the screen-reader.

Setting that this view is before a view that is not important for accessibility or if this view is not important for accessibility will have no effect as the screen-reader is not aware of unimportant views.

Related XML Attributes:

Parameters
beforeId int: The id of a view this one precedes in accessibility traversal.

See also:

setActivated

added in API level 11

 

public void setActivated (boolean activated)

Changes the activated state of this view. A view can be activated or not. Note that activation is not the same as selection. Selection is a transient property, representing the view (hierarchy) the user is currently interacting with. Activation is a longer-term state that the user can move views in and out of. For example, in a list view with single or multiple selection enabled, the views in the current selection set are activated. (Um, yeah, we are deeply sorry about the terminology here.) The activated state is propagated down to children of the view it is set on.

Parameters
activated boolean: true if the view must be activated, false otherwise

setAlpha

added in API level 11

 

public void setAlpha (float alpha)

Sets the opacity of the view to a value from 0 to 1, where 0 means the view is completely transparent and 1 means the view is completely opaque.

Note: setting alpha to a translucent value (0 < alpha < 1) can have significant performance implications, especially for large views. It is best to use the alpha property sparingly and transiently, as in the case of fading animations.

For a view with a frequently changing alpha, such as during a fading animation, it is strongly recommended for performance reasons to either override hasOverlappingRendering() to return false if appropriate, or setting alayer type on the view for the duration of the animation. On versions Build.VERSION_CODES.M and below, the default path for rendering an unlayered View with alpha could add multiple milliseconds of rendering cost, even for simple or small views. Starting with Build.VERSION_CODES.MLAYER_TYPE_HARDWARE is automatically applied to the view at the rendering level.

If this view overrides onSetAlpha(int) to return true, then this view is responsible for applying the opacity itself.

On versions Build.VERSION_CODES.LOLLIPOP_MR1 and below, note that if the view is backed by a layer and is associated with a layer paint, setting an alpha value less than 1.0 will supersede the alpha of the layer paint.

Starting with Build.VERSION_CODES.M, setting a translucent alpha value will clip a View to its bounds, unless the View returns false from hasOverlappingRendering().

Related XML Attributes:

Parameters
alpha float: The opacity of the view.

Value is between 0.0 and 1.0 inclusive.

See also:

setAnimation

added in API level 1

 

public void setAnimation (Animation animation)

Sets the next animation to play for this view. If you want the animation to play immediately, usestartAnimation(android.view.animation.Animation) instead. This method provides allows fine-grained control over the start time and invalidation, but you must make sure that 1) the animation has a start time set, and 2) the view's parent (which controls animations on its children) will be invalidated when the animation is supposed to start.

Parameters
animation Animation: The next animation, or null.

setAutofillHints

added in API level 26

 

public void setAutofillHints (String... autofillHints)

Sets the hints that help an AutofillService determine how to autofill the view with the user's data.

Typically, there is only one way to autofill a view, but there could be more than one. For example, if the application accepts either an username or email address to identify an user.

These hints are not validated by the Android System, but passed "as is" to the service. Hence, they can have any value, but it's recommended to use the AUTOFILL_HINT_ constants such as: AUTOFILL_HINT_USERNAMEAUTOFILL_HINT_PASSWORDAUTOFILL_HINT_EMAIL_ADDRESSAUTOFILL_HINT_NAMEAUTOFILL_HINT_PHONE,AUTOFILL_HINT_POSTAL_ADDRESSAUTOFILL_HINT_POSTAL_CODEAUTOFILL_HINT_CREDIT_CARD_NUMBERAUTOFILL_HINT_CREDIT_CARD_SECURITY_CODEAUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE,AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAYAUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH orAUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR.

Related XML Attributes:

Parameters
autofillHints String: The autofill hints to set. If the array is emtpy, null is set.

setAutofillId

added in API level 28

 

public void setAutofillId (AutofillId id)

Sets the unique, logical identifier of this view in the activity, for autofill purposes.

The autofill id is created on demand, and this method should only be called when a view is reused after dispatchProvideAutofillStructure(ViewStructure, int) is called, as that method creates a snapshot of the view that is passed along to the autofill service.

This method is typically used when view subtrees are recycled to represent different content* —in this case, the autofill id can be saved before the view content is swapped out, and restored later when it's swapped back in. For example:

 

EditText reusableView = ...; ViewGroup parentView = ...; AutofillManager afm = ...; // Swap out the view and change its contents AutofillId oldId = reusableView.getAutofillId(); CharSequence oldText = reusableView.getText(); parentView.removeView(reusableView); AutofillId newId = afm.getNextAutofillId(); reusableView.setText("New I am"); reusableView.setAutofillId(newId); parentView.addView(reusableView); // Later, swap the old content back in parentView.removeView(reusableView); reusableView.setAutofillId(oldId); reusableView.setText(oldText); parentView.addView(reusableView);

Parameters
id AutofillId: an autofill ID that is unique in the Activity hosting the view, or null to reset it. Usually it's an id previously allocated to another view (and obtained through getAutofillId()), or a new value obtained through AutofillManager.getNextAutofillId().
Throws
IllegalStateException if the view is already attached to a window.
IllegalArgumentException if the id is an autofill id associated with a virtual view.

setBackground

added in API level 16

 

public void setBackground (Drawable background)

Set the background to a given Drawable, or remove the background. If the background has padding, this View's padding is set to the background's padding. However, when a background is removed, this View's padding isn't touched. If setting the padding is desired, please use setPadding(int, int, int, int).

Parameters
background Drawable: The Drawable to use as the background, or null to remove the background

setBackgroundColor

added in API level 1

 

public void setBackgroundColor (int color)

Sets the background color for this view.

Parameters
color int: the color of the background

setBackgroundDrawable

added in API level 1

 

public void setBackgroundDrawable (Drawable background)

This method was deprecated in API level 16.
use setBackground(Drawable) instead

Parameters
background Drawable

setBackgroundResource

added in API level 1

 

public void setBackgroundResource (int resid)

Set the background to a given resource. The resource should refer to a Drawable object or 0 to remove the background.

Related XML Attributes:

Parameters
resid int: The identifier of the resource.

setBackgroundTintList

added in API level 21

 

public void setBackgroundTintList (ColorStateList tint)

Applies a tint to the background drawable. Does not modify the current tint mode, which is PorterDuff.Mode.SRC_INby default.

Subsequent calls to setBackground(Drawable) will automatically mutate the drawable and apply the specified tint and tint mode using Drawable.setTintList(ColorStateList).

Related XML Attributes:

Parameters
tint ColorStateList: the tint to apply, may be null to clear tint

See also:

setBackgroundTintMode

added in API level 21

 

public void setBackgroundTintMode (PorterDuff.Mode tintMode)

Specifies the blending mode used to apply the tint specified by setBackgroundTintList(ColorStateList)} to the background drawable. The default mode is PorterDuff.Mode.SRC_IN.

Related XML Attributes:

Parameters
tintMode PorterDuff.Mode: the blending mode used to apply the tint, may be null to clear tint

See also:

setBottom

added in API level 11

 

public final void setBottom (int bottom)

Sets the bottom position of this view relative to its parent. This method is meant to be called by the layout system and should not generally be called otherwise, because the property may be changed at any time by the layout.

Parameters
bottom int: The bottom of this view, in pixels.

setCameraDistance

added in API level 12

 

public void setCameraDistance (float distance)

Sets the distance along the Z axis (orthogonal to the X/Y plane on which views are drawn) from the camera to this view. The camera's distance affects 3D transformations, for instance rotations around the X and Y axis. If the rotationX or rotationY properties are changed and this view is large (more than half the size of the screen), it is recommended to always use a camera distance that's greater than the height (X axis rotation) or the width (Y axis rotation) of this view.

The distance of the camera from the view plane can have an affect on the perspective distortion of the view when it is rotated around the x or y axis. For example, a large distance will result in a large viewing angle, and there will not be much perspective distortion of the view as it rotates. A short distance may cause much more perspective distortion upon rotation, and can also result in some drawing artifacts if the rotated view ends up partially behind the camera (which is why the recommendation is to use a distance at least as far as the size of the view, if the view is to be rotated.)

The distance is expressed in "depth pixels." The default distance depends on the screen density. For instance, on a medium density display, the default distance is 1280. On a high density display, the default distance is 1920.

If you want to specify a distance that leads to visually consistent results across various densities, use the following formula:

 

float scale = context.getResources().getDisplayMetrics().density; view.setCameraDistance(distance * scale);

The density scale factor of a high density display is 1.5, and 1920 = 1280 * 1.5.

Parameters
distance float: The distance in "depth pixels", if negative the opposite value is used

See also:

setClickable

added in API level 1

 

public void setClickable (boolean clickable)

Enables or disables click events for this view. When a view is clickable it will change its state to "pressed" on every click. Subclasses should set the view clickable to visually react to user's clicks.

Related XML Attributes:

Parameters
clickable boolean: true to make the view clickable, false otherwise

See also:

setClipBounds

added in API level 18

 

public void setClipBounds (Rect clipBounds)

Sets a rectangular area on this view to which the view will be clipped when it is drawn. Setting the value to null will remove the clip bounds and the view will draw normally, using its full bounds.

Parameters
clipBounds Rect: The rectangular area, in the local coordinates of this view, to which future drawing operations will be clipped.

setClipToOutline

added in API level 21

 

public void setClipToOutline (boolean clipToOutline)

Sets whether the View's Outline should be used to clip the contents of the View.

Only a single non-rectangular clip can be applied on a View at any time. Circular clips from a circular revealanimation take priority over Outline clipping, and child Outline clipping takes priority over Outline clipping done by a parent.

Note that this flag will only be respected if the View's Outline returns true from Outline.canClip().

Parameters
clipToOutline boolean

See also:

setContentDescription

added in API level 4

 

public void setContentDescription (CharSequence contentDescription)

Sets the View's content description.

A content description briefly describes the view and is primarily used for accessibility support to determine how a view should be presented to the user. In the case of a view with no textual representation, such as ImageButton, a useful content description explains what the view does. For example, an image button with a phone icon that is used to place a call may use "Call" as its content description. An image of a floppy disk that is used to save a file may use "Save".

Related XML Attributes:

Parameters
contentDescription CharSequence: The content description.

See also:

setContextClickable

added in API level 23

 

public void setContextClickable (boolean contextClickable)

Enables or disables context clicking for this view. This event can launch the listener.

Related XML Attributes:

Parameters
contextClickable boolean: true to make the view react to a context click, false otherwise

See also:

setDefaultFocusHighlightEnabled

added in API level 26

 

public void setDefaultFocusHighlightEnabled (boolean defaultFocusHighlightEnabled)

Sets whether this View should use a default focus highlight when it gets focused but doesn't have R.attr.state_focused defined in its background.

Related XML Attributes:

Parameters
defaultFocusHighlightEnabled booleantrue to set this view to use a default focus highlight, false otherwise.

setDrawingCacheBackgroundColor

added in API level 1

 

public void setDrawingCacheBackgroundColor (int color)

This method was deprecated in API level 28.
The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

Setting a solid background color for the drawing cache's bitmaps will improve performance and memory usage. Note, though that this should only be used if this view will always be drawn on top of a solid color.

Parameters
color int: The background color to use for the drawing cache's bitmap

See also:

setDrawingCacheEnabled

added in API level 1

 

public void setDrawingCacheEnabled (boolean enabled)

This method was deprecated in API level 28.
The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

Enables or disables the drawing cache. When the drawing cache is enabled, the next call to getDrawingCache() or buildDrawingCache() will draw the view in a bitmap. Calling draw(android.graphics.Canvas) will not draw from the cache when the cache is enabled. To benefit from the cache, you must request the drawing cache by calling getDrawingCache() and draw it on screen if the returned bitmap is not null.

Enabling the drawing cache is similar to setting a layer when hardware acceleration is turned off. When hardware acceleration is turned on, enabling the drawing cache has no effect on rendering because the system uses a different mechanism for acceleration which ignores the flag. If you want to use a Bitmap for the view, even when hardware acceleration is enabled, see setLayerType(int, android.graphics.Paint) for information on how to enable software and hardware layers.

This API can be used to manually generate a bitmap copy of this view, by setting the flag to true and callinggetDrawingCache().

Parameters
enabled boolean: true to enable the drawing cache, false otherwise

See also:

setDrawingCacheQuality

added in API level 1

 

public void setDrawingCacheQuality (int quality)

This method was deprecated in API level 28.
The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

Set the drawing cache quality of this view. This value is used only when the drawing cache is enabled

Related XML Attributes:

Parameters
quality int: One of DRAWING_CACHE_QUALITY_AUTODRAWING_CACHE_QUALITY_LOW, or DRAWING_CACHE_QUALITY_HIGH

Value is DRAWING_CACHE_QUALITY_LOWDRAWING_CACHE_QUALITY_HIGH or DRAWING_CACHE_QUALITY_AUTO.

See also:

setDuplicateParentStateEnabled

added in API level 1

 

public void setDuplicateParentStateEnabled (boolean enabled)

Enables or disables the duplication of the parent's state into this view. When duplication is enabled, this view gets its drawable state from its parent rather than from its own internal properties.

Note: in the current implementation, setting this property to true after the view was added to a ViewGroup might have no effect at all. This property should always be used from XML or set to true before adding this view to a ViewGroup.

Note: if this view's parent addStateFromChildren property is enabled and this property is enabled, an exception will be thrown.

Note: if the child view uses and updates additional states which are unknown to the parent, these states should not be affected by this method.

Parameters
enabled boolean: True to enable duplication of the parent's drawable state, false to disable it.

See also:

setElevation

added in API level 21

 

public void setElevation (float elevation)

Sets the base elevation of this view, in pixels.

Related XML Attributes:

Parameters
elevation float

setEnabled

added in API level 1

 

public void setEnabled (boolean enabled)

Set the enabled state of this view. The interpretation of the enabled state varies by subclass.

Parameters
enabled boolean: True if this view is enabled, false otherwise.

setFadingEdgeLength

added in API level 1

 

public void setFadingEdgeLength (int length)

Set the size of the faded edge used to indicate that more content in this view is available. Will not change whether the fading edge is enabled; use setVerticalFadingEdgeEnabled(boolean) orsetHorizontalFadingEdgeEnabled(boolean) to enable the fading edge for the vertical or horizontal fading edges.

Parameters
length int: The size in pixels of the faded edge used to indicate that more content in this view is visible.

setFilterTouchesWhenObscured

added in API level 9

 

public void setFilterTouchesWhenObscured (boolean enabled)

Sets whether the framework should discard touches when the view's window is obscured by another visible window. Refer to the View security documentation for more details.

Related XML Attributes:

Parameters
enabled boolean: True if touch filtering should be enabled.

See also:

setFitsSystemWindows

added in API level 14

 

public void setFitsSystemWindows (boolean fitSystemWindows)

Sets whether or not this view should account for system screen decorations such as the status bar and inset its content; that is, controlling whether the default implementation of fitSystemWindows(Rect) will be executed. See that method for more details.

Note that if you are providing your own implementation of fitSystemWindows(Rect), then there is no need to set this flag to true -- your implementation will be overriding the default implementation that checks this flag.

Related XML Attributes:

Parameters
fitSystemWindows boolean: If true, then the default implementation of fitSystemWindows(Rect) will be executed.

See also:

setFocusable

added in API level 1

 

public void setFocusable (boolean focusable)

Set whether this view can receive the focus.

Setting this to false will also ensure that this view is not focusable in touch mode.

Related XML Attributes:

Parameters
focusable boolean: If true, this view can receive the focus.

See also:

setFocusable

added in API level 26

 

public void setFocusable (int focusable)

Sets whether this view can receive focus.

Setting this to FOCUSABLE_AUTO tells the framework to determine focusability automatically based on the view's interactivity. This is the default.

Setting this to NOT_FOCUSABLE will ensure that this view is also not focusable in touch mode.

Related XML Attributes:

Parameters
focusable int: One of NOT_FOCUSABLEFOCUSABLE, or FOCUSABLE_AUTO.

See also:

setFocusableInTouchMode

added in API level 1

 

public void setFocusableInTouchMode (boolean focusableInTouchMode)

Set whether this view can receive focus while in touch mode. Setting this to true will also ensure that this view is focusable.

Related XML Attributes:

Parameters
focusableInTouchMode boolean: If true, this view can receive the focus while in touch mode.

See also:

setFocusedByDefault

added in API level 26

 

public void setFocusedByDefault (boolean isFocusedByDefault)

Sets whether this View should receive focus when the focus is restored for the view hierarchy containing this view.

Focus gets restored for a view hierarchy when the root of the hierarchy gets added to a window or serves as a target of cluster navigation.

Related XML Attributes:

Parameters
isFocusedByDefault booleantrue to set this view as the default-focus view, false otherwise.

See also:

setForeground

added in API level 1

 

public void setForeground (Drawable foreground)

Supply a Drawable that is to be rendered on top of all of the content in the view.

Related XML Attributes:

Parameters
foreground Drawable: the Drawable to be drawn on top of the children

setForegroundGravity

added in API level 23

 

public void setForegroundGravity (int gravity)

Describes how the foreground is positioned. Defaults to START and TOP.

Related XML Attributes:

Parameters
gravity int: see Gravity

See also:

setForegroundTintList

added in API level 21

 

public void setForegroundTintList (ColorStateList tint)

Applies a tint to the foreground drawable. Does not modify the current tint mode, which is PorterDuff.Mode.SRC_IN by default.

Subsequent calls to setForeground(Drawable) will automatically mutate the drawable and apply the specified tint and tint mode using Drawable.setTintList(ColorStateList).

Related XML Attributes:

Parameters
tint ColorStateList: the tint to apply, may be null to clear tint

See also:

setForegroundTintMode

added in API level 21

 

public void setForegroundTintMode (PorterDuff.Mode tintMode)

Specifies the blending mode used to apply the tint specified by setForegroundTintList(ColorStateList)} to the background drawable. The default mode is PorterDuff.Mode.SRC_IN.

Related XML Attributes:

Parameters
tintMode PorterDuff.Mode: the blending mode used to apply the tint, may be null to clear tint

See also:

setHapticFeedbackEnabled

added in API level 3

 

public void setHapticFeedbackEnabled (boolean hapticFeedbackEnabled)

Set whether this view should have haptic feedback for events such as long presses.

You may wish to disable haptic feedback if your view already controls its own haptic feedback.

Related XML Attributes:

Parameters
hapticFeedbackEnabled boolean: whether haptic feedback enabled for this view.

See also:

setHasTransientState

added in API level 16

 

public void setHasTransientState (boolean hasTransientState)

Set whether this view is currently tracking transient state that the framework should attempt to preserve when possible. This flag is reference counted, so every call to setHasTransientState(true) should be paired with a later call to setHasTransientState(false).

A view with transient state cannot be trivially rebound from an external data source, such as an adapter binding item views in a list. This may be because the view is performing an animation, tracking user selection of content, or similar.

Parameters
hasTransientState boolean: true if this view has transient state

setHorizontalFadingEdgeEnabled

added in API level 1

 

public void setHorizontalFadingEdgeEnabled (boolean horizontalFadingEdgeEnabled)

Define whether the horizontal edges should be faded when this view is scrolled horizontally.

Related XML Attributes:

Parameters
horizontalFadingEdgeEnabled boolean: true if the horizontal edges should be faded when the view is scrolled horizontally

See also:

setHorizontalScrollBarEnabled

added in API level 1

 

public void setHorizontalScrollBarEnabled (boolean horizontalScrollBarEnabled)

Define whether the horizontal scrollbar should be drawn or not. The scrollbar is not drawn by default.

Parameters
horizontalScrollBarEnabled boolean: true if the horizontal scrollbar should be painted

See also:

setHovered

added in API level 14

 

public void setHovered (boolean hovered)

Sets whether the view is currently hovered.

Calling this method also changes the drawable state of the view. This enables the view to react to hover by using different drawable resources to change its appearance.

The onHoverChanged(boolean) method is called when the hovered state changes.

Parameters
hovered boolean: True if the view is hovered.

See also:

setId

added in API level 1

 

public void setId (int id)

Sets the identifier for this view. The identifier does not have to be unique in this view's hierarchy. The identifier should be a positive number.

Related XML Attributes:

Parameters
id int: a number used to identify the view

See also:

setImportantForAccessibility

added in API level 16

 

public void setImportantForAccessibility (int mode)

Sets how to determine whether this view is important for accessibility which is if it fires accessibility events and if it is reported to accessibility services that query the screen.

Related XML Attributes:

Parameters
mode int: How to determine whether this view is important for accessibility.

See also:

setImportantForAutofill

added in API level 26

 

public void setImportantForAutofill (int mode)

Sets the mode for determining whether this view is considered important for autofill.

The platform determines the importance for autofill automatically but you can use this method to customize the behavior. For example:

  1. When the view contents is irrelevant for autofill (for example, a text field used in a "Captcha" challenge), it should be IMPORTANT_FOR_AUTOFILL_NO.
  2. When both the view and its children are irrelevant for autofill (for example, the root view of an activity containing a spreadhseet editor), it should be IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS.
  3. When the view content is relevant for autofill but its children aren't (for example, a credit card expiration date represented by a custom view that overrides the proper autofill methods and has 2 children representing the month and year), it should be IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS.

Note: Setting the mode as IMPORTANT_FOR_AUTOFILL_NO or IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTSdoes not guarantee the view (and its children) will be always be considered not important; for example, when the user explicitly makes an autofill request, all views are considered important. See isImportantForAutofill() for more details about how the View's importance for autofill is used.

Related XML Attributes:

Parameters
mode intIMPORTANT_FOR_AUTOFILL_AUTOIMPORTANT_FOR_AUTOFILL_YES,IMPORTANT_FOR_AUTOFILL_NOIMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS, or IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS.

Value is IMPORTANT_FOR_AUTOFILL_AUTOIMPORTANT_FOR_AUTOFILL_YESIMPORTANT_FOR_AUTOFILL_NOIMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS or IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS.

setKeepScreenOn

added in API level 1

 

public void setKeepScreenOn (boolean keepScreenOn)

Controls whether the screen should remain on, modifying the value of KEEP_SCREEN_ON.

Related XML Attributes:

Parameters
keepScreenOn boolean: Supply true to set KEEP_SCREEN_ON.

See also:

setKeyboardNavigationCluster

added in API level 26

 

public void setKeyboardNavigationCluster (boolean isCluster)

Set whether this view is a root of a keyboard navigation cluster.

Related XML Attributes:

Parameters
isCluster boolean: If true, this view is a root of a cluster.

setLabelFor

added in API level 17

 

public void setLabelFor (int id)

Sets the id of a view for which this view serves as a label for accessibility purposes.

Parameters
id int: The labeled view id.

setLayerPaint

added in API level 17

 

public void setLayerPaint (Paint paint)

Updates the Paint object used with the current layer (used only if the current layer type is not set to LAYER_TYPE_NONE). Changed properties of the Paint provided to setLayerType(int, android.graphics.Paint) will be used the next time the View is redrawn, but setLayerPaint(android.graphics.Paint) must be called to ensure that the view gets redrawn immediately.

A layer is associated with an optional Paint instance that controls how the layer is composed on screen. The following properties of the paint are taken into account when composing the layer:

If this view has an alpha value set to < 1.0 by calling setAlpha(float), the alpha value of the layer's paint is superseded by this view's alpha value.

Parameters
paint Paint: The paint used to compose the layer. This argument is optional and can be null. It is ignored when the layer type is LAYER_TYPE_NONE

See also:

setLayerType

added in API level 11

 

public void setLayerType (int layerType, Paint paint)

Specifies the type of layer backing this view. The layer can be LAYER_TYPE_NONELAYER_TYPE_SOFTWARE orLAYER_TYPE_HARDWARE.

A layer is associated with an optional Paint instance that controls how the layer is composed on screen. The following properties of the paint are taken into account when composing the layer:

If this view has an alpha value set to < 1.0 by calling setAlpha(float), the alpha value of the layer's paint is superseded by this view's alpha value.

Refer to the documentation of LAYER_TYPE_NONELAYER_TYPE_SOFTWARE and LAYER_TYPE_HARDWARE for more information on when and how to use layers.

Related XML Attributes:

Parameters
layerType int: The type of layer to use with this view, must be one of LAYER_TYPE_NONELAYER_TYPE_SOFTWARE or LAYER_TYPE_HARDWARE
paint Paint: The paint used to compose the layer. This argument is optional and can be null. It is ignored when the layer type is LAYER_TYPE_NONE

See also:

setLayoutDirection

added in API level 17

 

public void setLayoutDirection (int layoutDirection)

Set the layout direction for this view. This will propagate a reset of layout direction resolution to the view's children and resolve layout direction for this view.

Related XML Attributes:

Parameters
layoutDirection int: the layout direction to set. Should be one of: LAYOUT_DIRECTION_LTR,LAYOUT_DIRECTION_RTLLAYOUT_DIRECTION_INHERITLAYOUT_DIRECTION_LOCALE. Resolution will be done if the value is set to LAYOUT_DIRECTION_INHERIT. The resolution proceeds up the parent chain of the view to get the value. If there is no parent, then it will return the default LAYOUT_DIRECTION_LTR.

Value is LAYOUT_DIRECTION_LTRLAYOUT_DIRECTION_RTLLAYOUT_DIRECTION_INHERIT or LAYOUT_DIRECTION_LOCALE.

setLayoutParams

added in API level 1

 

public void setLayoutParams (ViewGroup.LayoutParams params)

Set the layout parameters associated with this view. These supply parameters to the parent of this view specifying how it should be arranged. There are many subclasses of ViewGroup.LayoutParams, and these correspond to the different subclasses of ViewGroup that are responsible for arranging their children.

Parameters
params ViewGroup.LayoutParams: The layout parameters for this view, cannot be null

setLeft

added in API level 11

 

public final void setLeft (int left)

Sets the left position of this view relative to its parent. This method is meant to be called by the layout system and should not generally be called otherwise, because the property may be changed at any time by the layout.

Parameters
left int: The left of this view, in pixels.

setLongClickable

added in API level 1

 

public void setLongClickable (boolean longClickable)

Enables or disables long click events for this view. When a view is long clickable it reacts to the user holding down the button for a longer duration than a tap. This event can either launch the listener or a context menu.

Related XML Attributes:

Parameters
longClickable boolean: true to make the view long clickable, false otherwise

See also:

setMinimumHeight

added in API level 1

 

public void setMinimumHeight (int minHeight)

Sets the minimum height of the view. It is not guaranteed the view will be able to achieve this minimum height (for example, if its parent layout constrains it with less available height).

Related XML Attributes:

Parameters
minHeight int: The minimum height the view will try to be, in pixels

See also:

setMinimumWidth

added in API level 1

 

public void setMinimumWidth (int minWidth)

Sets the minimum width of the view. It is not guaranteed the view will be able to achieve this minimum width (for example, if its parent layout constrains it with less available width).

Related XML Attributes:

Parameters
minWidth int: The minimum width the view will try to be, in pixels

See also:

setNestedScrollingEnabled

added in API level 21

 

public void setNestedScrollingEnabled (boolean enabled)

Enable or disable nested scrolling for this view.

If this property is set to true the view will be permitted to initiate nested scrolling operations with a compatible parent view in the current hierarchy. If this view does not implement nested scrolling this will have no effect. Disabling nested scrolling while a nested scroll is in progress has the effect of stopping the nested scroll.

Parameters
enabled boolean: true to enable nested scrolling, false to disable

See also:

setNextClusterForwardId

added in API level 26

 

public void setNextClusterForwardId (int nextClusterForwardId)

Sets the id of the view to use as the root of the next keyboard navigation cluster.

Related XML Attributes:

Parameters
nextClusterForwardId int: The next cluster ID, or NO_ID if the framework should decide automatically.

setNextFocusDownId

added in API level 1

 

public void setNextFocusDownId (int nextFocusDownId)

Sets the id of the view to use when the next focus is FOCUS_DOWN.

Related XML Attributes:

Parameters
nextFocusDownId int: The next focus ID, or NO_ID if the framework should decide automatically.

setNextFocusForwardId

added in API level 11

 

public void setNextFocusForwardId (int nextFocusForwardId)

Sets the id of the view to use when the next focus is FOCUS_FORWARD.

Related XML Attributes:

Parameters
nextFocusForwardId int: The next focus ID, or NO_ID if the framework should decide automatically.

setNextFocusLeftId

added in API level 1

 

public void setNextFocusLeftId (int nextFocusLeftId)

Sets the id of the view to use when the next focus is FOCUS_LEFT.

Related XML Attributes:

Parameters
nextFocusLeftId int: The next focus ID, or NO_ID if the framework should decide automatically.

setNextFocusRightId

added in API level 1

 

public void setNextFocusRightId (int nextFocusRightId)

Sets the id of the view to use when the next focus is FOCUS_RIGHT.

Related XML Attributes:

Parameters
nextFocusRightId int: The next focus ID, or NO_ID if the framework should decide automatically.

setNextFocusUpId

added in API level 1

 

public void setNextFocusUpId (int nextFocusUpId)

Sets the id of the view to use when the next focus is FOCUS_UP.

Related XML Attributes:

Parameters
nextFocusUpId int: The next focus ID, or NO_ID if the framework should decide automatically.

setOnApplyWindowInsetsListener

added in API level 20

 

public void setOnApplyWindowInsetsListener (View.OnApplyWindowInsetsListener listener)

Set an View.OnApplyWindowInsetsListener to take over the policy for applying window insets to this view. The listener's onApplyWindowInsets method will be called instead of the view's onApplyWindowInsets method.

Parameters
listener View.OnApplyWindowInsetsListener: Listener to set

See also:

setOnCapturedPointerListener

added in API level 26

 

public void setOnCapturedPointerListener (View.OnCapturedPointerListener l)

Set a listener to receive callbacks when the pointer capture state of a view changes.

Parameters
l View.OnCapturedPointerListener: The View.OnCapturedPointerListener to receive callbacks.

setOnClickListener

added in API level 1

 

public void setOnClickListener (View.OnClickListener l)

Register a callback to be invoked when this view is clicked. If this view is not clickable, it becomes clickable.

Parameters
l View.OnClickListener: The callback that will run

This value may be null.

See also:

setOnContextClickListener

added in API level 23

 

public void setOnContextClickListener (View.OnContextClickListener l)

Register a callback to be invoked when this view is context clicked. If the view is not context clickable, it becomes context clickable.

Parameters
l View.OnContextClickListener: The callback that will run

This value may be null.

See also:

setOnCreateContextMenuListener

added in API level 1

 

public void setOnCreateContextMenuListener (View.OnCreateContextMenuListener l)

Register a callback to be invoked when the context menu for this view is being built. If this view is not long clickable, it becomes long clickable.

Parameters
l View.OnCreateContextMenuListener: The callback that will run

setOnDragListener

added in API level 11

 

public void setOnDragListener (View.OnDragListener l)

Register a drag event listener callback object for this View. The parameter is an implementation of View.OnDragListener. To send a drag event to a View, the system calls the View.OnDragListener.onDrag(View, DragEvent) method.

Parameters
l View.OnDragListener: An implementation of View.OnDragListener.

setOnFocusChangeListener

added in API level 1

 

public void setOnFocusChangeListener (View.OnFocusChangeListener l)

Register a callback to be invoked when focus of this view changed.

Parameters
l View.OnFocusChangeListener: The callback that will run.

setOnGenericMotionListener

added in API level 12

 

public void setOnGenericMotionListener (View.OnGenericMotionListener l)

Register a callback to be invoked when a generic motion event is sent to this view.

Parameters
l View.OnGenericMotionListener: the generic motion listener to attach to this view

setOnHoverListener

added in API level 14

 

public void setOnHoverListener (View.OnHoverListener l)

Register a callback to be invoked when a hover event is sent to this view.

Parameters
l View.OnHoverListener: the hover listener to attach to this view

setOnKeyListener

added in API level 1

 

public void setOnKeyListener (View.OnKeyListener l)

Register a callback to be invoked when a hardware key is pressed in this view. Key presses in software input methods will generally not trigger the methods of this listener.

Parameters
l View.OnKeyListener: the key listener to attach to this view

setOnLongClickListener

added in API level 1

 

public void setOnLongClickListener (View.OnLongClickListener l)

Register a callback to be invoked when this view is clicked and held. If this view is not long clickable, it becomes long clickable.

Parameters
l View.OnLongClickListener: The callback that will run

This value may be null.

See also:

setOnScrollChangeListener

added in API level 23

 

public void setOnScrollChangeListener (View.OnScrollChangeListener l)

Register a callback to be invoked when the scroll X or Y positions of this view change.

Note: Some views handle scrolling independently from View and may have their own separate listeners for scroll-type events. For example, ListView allows clients to register an AbsListView.OnScrollListener to listen for changes in list scroll position.

Parameters
l View.OnScrollChangeListener: The listener to notify when the scroll X or Y position changes.

See also:

setOnSystemUiVisibilityChangeListener

added in API level 11

 

public void setOnSystemUiVisibilityChangeListener (View.OnSystemUiVisibilityChangeListener l)

Set a listener to receive callbacks when the visibility of the system bar changes.

Parameters
l View.OnSystemUiVisibilityChangeListener: The View.OnSystemUiVisibilityChangeListener to receive callbacks.

setOnTouchListener

added in API level 1

 

public void setOnTouchListener (View.OnTouchListener l)

Register a callback to be invoked when a touch event is sent to this view.

Parameters
l View.OnTouchListener: the touch listener to attach to this view

setOutlineAmbientShadowColor

added in API level 28

 

public void setOutlineAmbientShadowColor (int color)

Sets the color of the ambient shadow that is drawn when the view has a positive Z or elevation value.

By default the shadow color is black. Generally, this color will be opaque so the intensity of the shadow is consistent between different views with different colors.

The opacity of the final ambient shadow is a function of the shadow caster height, the alpha channel of the outlineAmbientShadowColor (typically opaque), and the R.attr.ambientShadowAlpha theme attribute.

Related XML Attributes:

Parameters
color int: The color this View will cast for its elevation shadow.

setOutlineProvider

added in API level 21

 

public void setOutlineProvider (ViewOutlineProvider provider)

Sets the ViewOutlineProvider of the view, which generates the Outline that defines the shape of the shadow it casts, and enables outline clipping.

The default ViewOutlineProvider, ViewOutlineProvider.BACKGROUND, queries the Outline from the View's background drawable, via Drawable.getOutline(Outline). Changing the outline provider with this method allows this behavior to be overridden.

If the ViewOutlineProvider is null, if querying it for an outline returns false, or if the produced Outline is Outline.isEmpty(), shadows will not be cast.

Only outlines that return true from Outline.canClip() may be used for clipping.

Parameters
provider ViewOutlineProvider

See also:

setOutlineSpotShadowColor

added in API level 28

 

public void setOutlineSpotShadowColor (int color)

Sets the color of the spot shadow that is drawn when the view has a positive Z or elevation value.

By default the shadow color is black. Generally, this color will be opaque so the intensity of the shadow is consistent between different views with different colors.

The opacity of the final spot shadow is a function of the shadow caster height, the alpha channel of the outlineSpotShadowColor (typically opaque), and the R.attr.spotShadowAlpha theme attribute.

Related XML Attributes:

Parameters
color int: The color this View will cast for its elevation spot shadow.

setOverScrollMode

added in API level 9

 

public void setOverScrollMode (int overScrollMode)

Set the over-scroll mode for this view. Valid over-scroll modes are OVER_SCROLL_ALWAYS (default), OVER_SCROLL_IF_CONTENT_SCROLLS (allow over-scrolling only if the view content is larger than the container), or OVER_SCROLL_NEVER. Setting the over-scroll mode of a view will have an effect only if the view is capable of scrolling.

Parameters
overScrollMode int: The new over-scroll mode for this view.

setPadding

added in API level 1

 

public void setPadding (int left, int top, int right, int bottom)

Sets the padding. The view may add on the space required to display the scrollbars, depending on the style and visibility of the scrollbars. So the values returned from getPaddingLeft()getPaddingTop()getPaddingRight() and getPaddingBottom() may be different from the values set in this call.

Related XML Attributes:

Parameters
left int: the left padding in pixels
top int: the top padding in pixels
right int: the right padding in pixels
bottom int: the bottom padding in pixels

setPaddingRelative

added in API level 17

 

public void setPaddingRelative (int start, int top, int end, int bottom)

Sets the relative padding. The view may add on the space required to display the scrollbars, depending on the style and visibility of the scrollbars. So the values returned from getPaddingStart()getPaddingTop()getPaddingEnd()and getPaddingBottom() may be different from the values set in this call.

Related XML Attributes:

Parameters
start int: the start padding in pixels
top int: the top padding in pixels
end int: the end padding in pixels
bottom int: the bottom padding in pixels

setPivotX

added in API level 11

 

public void setPivotX (float pivotX)

Sets the x location of the point around which the view is rotated and scaled. By default, the pivot point is centered on the object. Setting this property disables this behavior and causes the view to use only the explicitly set pivotX and pivotY values.

Related XML Attributes:

Parameters
pivotX float: The x location of the pivot point.

See also:

setPivotY

added in API level 11

 

public void setPivotY (float pivotY)

Sets the y location of the point around which the view is rotated and scaled. By default, the pivot point is centered on the object. Setting this property disables this behavior and causes the view to use only the explicitly set pivotX and pivotY values.

Related XML Attributes:

Parameters
pivotY float: The y location of the pivot point.

See also:

setPointerIcon

added in API level 24

 

public void setPointerIcon (PointerIcon pointerIcon)

Set the pointer icon for the current view. Passing null will restore the pointer icon to its default value.

Parameters
pointerIcon PointerIcon: A PointerIcon instance which will be shown when the mouse hovers.

setPressed

added in API level 1

 

public void setPressed (boolean pressed)

Sets the pressed state for this view.

Parameters
pressed boolean: Pass true to set the View's internal state to "pressed", or false to reverts the View's internal state from a previously set "pressed" state.

See also:

setRevealOnFocusHint

added in API level 25

 

public final void setRevealOnFocusHint (boolean revealOnFocus)

Sets this view's preference for reveal behavior when it gains focus.

When set to true, this is a signal to ancestor views in the hierarchy that this view would prefer to be brought fully into view when it gains focus. For example, a text field that a user is meant to type into. Other views such as scrolling containers may prefer to opt-out of this behavior.

The default value for views is true, though subclasses may change this based on their preferred behavior.

Parameters
revealOnFocus boolean: true to request reveal on focus in ancestors, false otherwise

See also:

setRight

added in API level 11

 

public final void setRight (int right)

Sets the right position of this view relative to its parent. This method is meant to be called by the layout system and should not generally be called otherwise, because the property may be changed at any time by the layout.

Parameters
right int: The right of this view, in pixels.

setRotation

added in API level 11

 

public void setRotation (float rotation)

Sets the degrees that the view is rotated around the pivot point. Increasing values result in clockwise rotation.

Related XML Attributes:

Parameters
rotation float: The degrees of rotation.

See also:

setRotationX

added in API level 11

 

public void setRotationX (float rotationX)

Sets the degrees that the view is rotated around the horizontal axis through the pivot point. Increasing values result in clockwise rotation from the viewpoint of looking down the x axis. When rotating large views, it is recommended to adjust the camera distance accordingly. Refer to setCameraDistance(float) for more information.

Related XML Attributes:

Parameters
rotationX float: The degrees of X rotation.

See also:

setRotationY

added in API level 11

 

public void setRotationY (float rotationY)

Sets the degrees that the view is rotated around the vertical axis through the pivot point. Increasing values result in counter-clockwise rotation from the viewpoint of looking down the y axis. When rotating large views, it is recommended to adjust the camera distance accordingly. Refer to setCameraDistance(float) for more information.

Related XML Attributes:

Parameters
rotationY float: The degrees of Y rotation.

See also:

setSaveEnabled

added in API level 1

 

public void setSaveEnabled (boolean enabled)

Controls whether the saving of this view's state is enabled (that is, whether its onSaveInstanceState() method will be called). Note that even if freezing is enabled, the view still must have an id assigned to it (via setId(int)) for its state to be saved. This flag can only disable the saving of this view; any child views may still have their state saved.

Related XML Attributes:

Parameters
enabled boolean: Set to false to disable state saving, or true (the default) to allow it.

See also:

setSaveFromParentEnabled

added in API level 11

 

public void setSaveFromParentEnabled (boolean enabled)

Controls whether the entire hierarchy under this view will save its state when a state saving traversal occurs from its parent. The default is true; if false, these views will not be saved unless saveHierarchyState(SparseArray) is called directly on this view.

Parameters
enabled boolean: Set to false to disable state saving, or true (the default) to allow it.

See also:

setScaleX

added in API level 11

 

public void setScaleX (float scaleX)

Sets the amount that the view is scaled in x around the pivot point, as a proportion of the view's unscaled width. A value of 1 means that no scaling is applied.

Related XML Attributes:

Parameters
scaleX float: The scaling factor.

See also:

setScaleY

added in API level 11

 

public void setScaleY (float scaleY)

Sets the amount that the view is scaled in Y around the pivot point, as a proportion of the view's unscaled width. A value of 1 means that no scaling is applied.

Related XML Attributes:

Parameters
scaleY float: The scaling factor.

See also:

setScreenReaderFocusable

added in API level 28

 

public void setScreenReaderFocusable (boolean screenReaderFocusable)

When screen readers (one type of accessibility tool) decide what should be read to the user, they typically look for input focusable (isFocusable()) parents of non-focusable text items, and read those focusable parents and their non-focusable children as a unit. In some situations, this behavior is desirable for views that should not take input focus. Setting an item to be screen reader focusable requests that the view be treated as a unit by screen readers without any effect on input focusability. The default value of false lets screen readers use other signals, like focusable, to determine how to group items.

Parameters
screenReaderFocusable boolean: Whether the view should be treated as a unit by screen reader accessibility tools.

setScrollBarDefaultDelayBeforeFade

added in API level 16

 

public void setScrollBarDefaultDelayBeforeFade (int scrollBarDefaultDelayBeforeFade)

Define the delay before scrollbars fade.

Related XML Attributes:

Parameters
scrollBarDefaultDelayBeforeFade int: - the delay before scrollbars fade

setScrollBarFadeDuration

added in API level 16

 

public void setScrollBarFadeDuration (int scrollBarFadeDuration)

Define the scrollbar fade duration.

Related XML Attributes:

Parameters
scrollBarFadeDuration int: - the scrollbar fade duration, in milliseconds

setScrollBarSize

added in API level 16

 

public void setScrollBarSize (int scrollBarSize)

Define the scrollbar size.

Related XML Attributes:

Parameters
scrollBarSize int: - the scrollbar size

setScrollBarStyle

added in API level 1

 

public void setScrollBarStyle (int style)

Specify the style of the scrollbars. The scrollbars can be overlaid or inset. When inset, they add to the padding of the view. And the scrollbars can be drawn inside the padding area or on the edge of the view. For example, if a view has a background drawable and you want to draw the scrollbars inside the padding specified by the drawable, you can use SCROLLBARS_INSIDE_OVERLAY or SCROLLBARS_INSIDE_INSET. If you want them to appear at the edge of the view, ignoring the padding, then you can use SCROLLBARS_OUTSIDE_OVERLAY or SCROLLBARS_OUTSIDE_INSET.

Related XML Attributes:

Parameters
style int: the style of the scrollbars. Should be one of SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_INSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY or SCROLLBARS_OUTSIDE_INSET.

Value is SCROLLBARS_INSIDE_OVERLAYSCROLLBARS_INSIDE_INSETSCROLLBARS_OUTSIDE_OVERLAY or SCROLLBARS_OUTSIDE_INSET.

See also:

setScrollContainer

added in API level 3

 

public void setScrollContainer (boolean isScrollContainer)

Change whether this view is one of the set of scrollable containers in its window. This will be used to determine whether the window can resize or must pan when a soft input area is open -- scrollable containers allow the window to use resize mode since the container will appropriately shrink.

Related XML Attributes:

Parameters
isScrollContainer boolean

setScrollIndicators

added in API level 23

 

public void setScrollIndicators (int indicators, int mask)

Sets the state of the scroll indicators specified by the mask. To change all scroll indicators at once, see setScrollIndicators(int).

When a scroll indicator is enabled, it will be displayed if the view can scroll in the direction of the indicator.

Multiple indicator types may be enabled or disabled by passing the logical OR of the desired types. If multiple types are specified, they will all be set to the same enabled state.

For example, to enable the top scroll indicatorExample: {@code setScrollIndicators

Related XML Attributes:

Parameters
indicators int: the indicator direction, or the logical OR of multiple indicator directions. One or more of:

Value is either 0 or combination of SCROLL_INDICATOR_TOPSCROLL_INDICATOR_BOTTOMSCROLL_INDICATOR_LEFTSCROLL_INDICATOR_RIGHTSCROLL_INDICATOR_START or SCROLL_INDICATOR_END.

mask int

Value is either 0 or combination of SCROLL_INDICATOR_TOPSCROLL_INDICATOR_BOTTOMSCROLL_INDICATOR_LEFTSCROLL_INDICATOR_RIGHTSCROLL_INDICATOR_START or SCROLL_INDICATOR_END.

See also:

setScrollIndicators

added in API level 23

 

public void setScrollIndicators (int indicators)

Sets the state of all scroll indicators.

See setScrollIndicators(int, int) for usage information.

Related XML Attributes:

Parameters
indicators int: a bitmask of indicators that should be enabled, or 0 to disable all indicators

Value is either 0 or combination of SCROLL_INDICATOR_TOPSCROLL_INDICATOR_BOTTOMSCROLL_INDICATOR_LEFTSCROLL_INDICATOR_RIGHTSCROLL_INDICATOR_START or SCROLL_INDICATOR_END.

See also:

setScrollX

added in API level 14

 

public void setScrollX (int value)

Set the horizontal scrolled position of your view. This will cause a call to onScrollChanged(int, int, int, int) and the view will be invalidated.

Parameters
value int: the x position to scroll to

setScrollY

added in API level 14

 

public void setScrollY (int value)

Set the vertical scrolled position of your view. This will cause a call to onScrollChanged(int, int, int, int) and the view will be invalidated.

Parameters
value int: the y position to scroll to

setScrollbarFadingEnabled

added in API level 5

 

public void setScrollbarFadingEnabled (boolean fadeScrollbars)

Define whether scrollbars will fade when the view is not scrolling.

Related XML Attributes:

Parameters
fadeScrollbars boolean: whether to enable fading

setSelected

added in API level 1

 

public void setSelected (boolean selected)

Changes the selection state of this view. A view can be selected or not. Note that selection is not the same as focus. Views are typically selected in the context of an AdapterView like ListView or GridView; the selected view is the view that is highlighted.

Parameters
selected boolean: true if the view must be selected, false otherwise

setSoundEffectsEnabled

added in API level 1

 

public void setSoundEffectsEnabled (boolean soundEffectsEnabled)

Set whether this view should have sound effects enabled for events such as clicking and touching.

You may wish to disable sound effects for a view if you already play sounds, for instance, a dial key that plays dtmf tones.

Related XML Attributes:

Parameters
soundEffectsEnabled boolean: whether sound effects are enabled for this view.

See also:

setStateListAnimator

added in API level 21

 

public void setStateListAnimator (StateListAnimator stateListAnimator)

Attaches the provided StateListAnimator to this View.

Any previously attached StateListAnimator will be detached.

Parameters
stateListAnimator StateListAnimator: The StateListAnimator to update the view

See also:

setSystemUiVisibility

added in API level 11

 

public void setSystemUiVisibility (int visibility)

Request that the visibility of the status bar or other screen/window decorations be changed.

This method is used to put the over device UI into temporary modes where the user's attention is focused more on the application content, by dimming or hiding surrounding system affordances. This is typically used in conjunction with Window.FEATURE_ACTION_BAR_OVERLAY, allowing the applications content to be placed behind the action bar (and with these flags other system affordances) so that smooth transitions between hiding and showing them can be done.

Two representative examples of the use of system UI visibility is implementing a content browsing application (like a magazine reader) and a video playing application.

The first code shows a typical implementation of a View in a content browsing application. In this implementation, the application goes into a content-oriented mode by hiding the status bar and action bar, and putting the navigation elements into lights out mode. The user can then interact with content while in this mode. Such an application should provide an easy way for the user to toggle out of the mode (such as to check information in the status bar or access notifications). In the implementation here, this is done simply by tapping on the content.

 

public static class Content extends ScrollView implements View.OnSystemUiVisibilityChangeListener, View.OnClickListener { TextView mText; TextView mTitleView; SeekBar mSeekView; boolean mNavVisible; int mBaseSystemUiVisibility = SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | SYSTEM_UI_FLAG_LAYOUT_STABLE; int mLastSystemUiVis; Runnable mNavHider = new Runnable() { @Override public void run() { setNavVisibility(false); } }; public Content(Context context, AttributeSet attrs) { super(context, attrs); mText = new TextView(context); mText.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16); mText.setText(context.getString(R.string.alert_dialog_two_buttons2ultra_msg)); mText.setClickable(false); mText.setOnClickListener(this); mText.setTextIsSelectable(true); addView(mText, new ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); setOnSystemUiVisibilityChangeListener(this); } public void init(TextView title, SeekBar seek) { // This called by the containing activity to supply the surrounding // state of the content browser that it will interact with. mTitleView = title; mSeekView = seek; setNavVisibility(true); } @Override public void onSystemUiVisibilityChange(int visibility) { // Detect when we go out of low-profile mode, to also go out // of full screen. We only do this when the low profile mode // is changing from its last state, and turning off. int diff = mLastSystemUiVis ^ visibility; mLastSystemUiVis = visibility; if ((diff&SYSTEM_UI_FLAG_LOW_PROFILE) != 0 && (visibility&SYSTEM_UI_FLAG_LOW_PROFILE) == 0) { setNavVisibility(true); } } @Override protected void onWindowVisibilityChanged(int visibility) { super.onWindowVisibilityChanged(visibility); // When we become visible, we show our navigation elements briefly // before hiding them. setNavVisibility(true); getHandler().postDelayed(mNavHider, 2000); } @Override protected void onScrollChanged(int l, int t, int oldl, int oldt) { super.onScrollChanged(l, t, oldl, oldt); // When the user scrolls, we hide navigation elements. setNavVisibility(false); } @Override public void onClick(View v) { // When the user clicks, we toggle the visibility of navigation elements. int curVis = getSystemUiVisibility(); setNavVisibility((curVis&SYSTEM_UI_FLAG_LOW_PROFILE) != 0); } void setBaseSystemUiVisibility(int visibility) { mBaseSystemUiVisibility = visibility; } void setNavVisibility(boolean visible) { int newVis = mBaseSystemUiVisibility; if (!visible) { newVis |= SYSTEM_UI_FLAG_LOW_PROFILE | SYSTEM_UI_FLAG_FULLSCREEN; } final boolean changed = newVis == getSystemUiVisibility(); // Unschedule any pending event to hide navigation if we are // changing the visibility, or making the UI visible. if (changed || visible) { Handler h = getHandler(); if (h != null) { h.removeCallbacks(mNavHider); } } // Set the new desired visibility. setSystemUiVisibility(newVis); mTitleView.setVisibility(visible ? VISIBLE : INVISIBLE); mSeekView.setVisibility(visible ? VISIBLE : INVISIBLE); } }

This second code sample shows a typical implementation of a View in a video playing application. In this situation, while the video is playing the application would like to go into a complete full-screen mode, to use as much of the display as possible for the video. When in this state the user can not interact with the application; the system intercepts touching on the screen to pop the UI out of full screen mode. See fitSystemWindows(Rect) for a sample layout that goes with this code.

 

public static class Content extends ImageView implements View.OnSystemUiVisibilityChangeListener, View.OnClickListener, ActionBar.OnMenuVisibilityListener { Activity mActivity; TextView mTitleView; Button mPlayButton; SeekBar mSeekView; boolean mAddedMenuListener; boolean mMenusOpen; boolean mPaused; boolean mNavVisible; int mLastSystemUiVis; Runnable mNavHider = new Runnable() { @Override public void run() { setNavVisibility(false); } }; public Content(Context context, AttributeSet attrs) { super(context, attrs); setOnSystemUiVisibilityChangeListener(this); setOnClickListener(this); } public void init(Activity activity, TextView title, Button playButton, SeekBar seek) { // This called by the containing activity to supply the surrounding // state of the video player that it will interact with. mActivity = activity; mTitleView = title; mPlayButton = playButton; mSeekView = seek; mPlayButton.setOnClickListener(this); setPlayPaused(true); } @Override protected void onAttachedToWindow() { super.onAttachedToWindow(); if (mActivity != null) { mAddedMenuListener = true; mActivity.getActionBar().addOnMenuVisibilityListener(this); } } @Override protected void onDetachedFromWindow() { super.onDetachedFromWindow(); if (mAddedMenuListener) { mActivity.getActionBar().removeOnMenuVisibilityListener(this); } } @Override public void onSystemUiVisibilityChange(int visibility) { // Detect when we go out of nav-hidden mode, to clear our state // back to having the full UI chrome up. Only do this when // the state is changing and nav is no longer hidden. int diff = mLastSystemUiVis ^ visibility; mLastSystemUiVis = visibility; if ((diff&SYSTEM_UI_FLAG_HIDE_NAVIGATION) != 0 && (visibility&SYSTEM_UI_FLAG_HIDE_NAVIGATION) == 0) { setNavVisibility(true); } } @Override protected void onWindowVisibilityChanged(int visibility) { super.onWindowVisibilityChanged(visibility); // When we become visible or invisible, play is paused. setPlayPaused(true); } @Override public void onClick(View v) { if (v == mPlayButton) { // Clicking on the play/pause button toggles its state. setPlayPaused(!mPaused); } else { // Clicking elsewhere makes the navigation visible. setNavVisibility(true); } } @Override public void onMenuVisibilityChanged(boolean isVisible) { mMenusOpen = isVisible; setNavVisibility(true); } void setPlayPaused(boolean paused) { mPaused = paused; mPlayButton.setText(paused ? R.string.play : R.string.pause); setKeepScreenOn(!paused); setNavVisibility(true); } void setNavVisibility(boolean visible) { int newVis = SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | SYSTEM_UI_FLAG_LAYOUT_STABLE; if (!visible) { newVis |= SYSTEM_UI_FLAG_LOW_PROFILE | SYSTEM_UI_FLAG_FULLSCREEN | SYSTEM_UI_FLAG_HIDE_NAVIGATION; } // If we are now visible, schedule a timer for us to go invisible. if (visible) { Handler h = getHandler(); if (h != null) { h.removeCallbacks(mNavHider); if (!mMenusOpen && !mPaused) { // If the menus are open or play is paused, we will not auto-hide. h.postDelayed(mNavHider, 3000); } } } // Set the new desired visibility. setSystemUiVisibility(newVis); mTitleView.setVisibility(visible ? VISIBLE : INVISIBLE); mPlayButton.setVisibility(visible ? VISIBLE : INVISIBLE); mSeekView.setVisibility(visible ? VISIBLE : INVISIBLE); } }

Parameters
visibility int: Bitwise-or of flags SYSTEM_UI_FLAG_LOW_PROFILE,SYSTEM_UI_FLAG_HIDE_NAVIGATIONSYSTEM_UI_FLAG_FULLSCREEN,SYSTEM_UI_FLAG_LAYOUT_STABLESYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION,SYSTEM_UI_FLAG_LAYOUT_FULLSCREENSYSTEM_UI_FLAG_IMMERSIVE, and SYSTEM_UI_FLAG_IMMERSIVE_STICKY.

setTag

added in API level 4

 

public void setTag (int key, Object tag)

Sets a tag associated with this view and a key. A tag can be used to mark a view in its hierarchy and does not have to be unique within the hierarchy. Tags can also be used to store data within a view without resorting to another data structure. The specified key should be an id declared in the resources of the application to ensure it is unique (see the ID resource type). Keys identified as belonging to the Android framework or not associated with any package will cause an IllegalArgumentException to be thrown.

Parameters
key int: The key identifying the tag
tag Object: An Object to tag the view with
Throws
IllegalArgumentException If they specified key is not valid

See also:

setTag

added in API level 1

 

public void setTag (Object tag)

Sets the tag associated with this view. A tag can be used to mark a view in its hierarchy and does not have to be unique within the hierarchy. Tags can also be used to store data within a view without resorting to another data structure.

Parameters
tag Object: an Object to tag the view with

See also:

setTextAlignment

added in API level 17

 

public void setTextAlignment (int textAlignment)

Set the text alignment.

Related XML Attributes:

Parameters
textAlignment int: The text alignment to set. Should be one of TEXT_ALIGNMENT_INHERIT,TEXT_ALIGNMENT_GRAVITYTEXT_ALIGNMENT_CENTERTEXT_ALIGNMENT_TEXT_START,TEXT_ALIGNMENT_TEXT_ENDTEXT_ALIGNMENT_VIEW_STARTTEXT_ALIGNMENT_VIEW_ENDResolution will be done if the value is set to TEXT_ALIGNMENT_INHERIT. The resolution proceeds up the parent chain of the view to get the value. If there is no parent, then it will return the default TEXT_ALIGNMENT_GRAVITY.

Value is TEXT_ALIGNMENT_INHERITTEXT_ALIGNMENT_GRAVITYTEXT_ALIGNMENT_CENTERTEXT_ALIGNMENT_TEXT_STARTTEXT_ALIGNMENT_TEXT_ENDTEXT_ALIGNMENT_VIEW_STARTor TEXT_ALIGNMENT_VIEW_END.

setTextDirection

added in API level 17

 

public void setTextDirection (int textDirection)

Set the text direction.

Related XML Attributes:

Parameters
textDirection int: the direction to set. Should be one of: TEXT_DIRECTION_INHERIT,TEXT_DIRECTION_FIRST_STRONGTEXT_DIRECTION_ANY_RTLTEXT_DIRECTION_LTR,TEXT_DIRECTION_RTLTEXT_DIRECTION_LOCALE TEXT_DIRECTION_FIRST_STRONG_LTR,TEXT_DIRECTION_FIRST_STRONG_RTL, Resolution will be done if the value is set to TEXT_DIRECTION_INHERIT. The resolution proceeds up the parent chain of the view to get the value. If there is no parent, then it will return the default TEXT_DIRECTION_FIRST_STRONG.

setTooltipText

added in API level 26

 

public void setTooltipText (CharSequence tooltipText)

Sets the tooltip text which will be displayed in a small popup next to the view.

The tooltip will be displayed:

  • On long click, unless it is handled otherwise (by OnLongClickListener or a context menu).
  • On hover, after a brief delay since the pointer has stopped moving

Note: Do not override this method, as it will have no effect on the text displayed in the tooltip.

Related XML Attributes:

Parameters
tooltipText CharSequence: the tooltip text, or null if no tooltip is required

See also:

setTop

added in API level 11

 

public final void setTop (int top)

Sets the top position of this view relative to its parent. This method is meant to be called by the layout system and should not generally be called otherwise, because the property may be changed at any time by the layout.

Parameters
top int: The top of this view, in pixels.

setTouchDelegate

added in API level 1

 

public void setTouchDelegate (TouchDelegate delegate)

Sets the TouchDelegate for this View.

Parameters
delegate TouchDelegate

setTransitionName

added in API level 21

 

public final void setTransitionName (String transitionName)

Sets the name of the View to be used to identify Views in Transitions. Names should be unique in the View hierarchy.

Parameters
transitionName String: The name of the View to uniquely identify it for Transitions.

setTranslationX

added in API level 11

 

public void setTranslationX (float translationX)

Sets the horizontal location of this view relative to its left position. This effectively positions the object post-layout, in addition to wherever the object's layout placed it.

Related XML Attributes:

Parameters
translationX float: The horizontal position of this view relative to its left position, in pixels.

setTranslationY

added in API level 11

 

public void setTranslationY (float translationY)

Sets the vertical location of this view relative to its top position. This effectively positions the object post-layout, in addition to wherever the object's layout placed it.

Related XML Attributes:

Parameters
translationY float: The vertical position of this view relative to its top position, in pixels.

setTranslationZ

added in API level 21

 

public void setTranslationZ (float translationZ)

Sets the depth location of this view relative to its elevation.

Related XML Attributes:

Parameters
translationZ float

setVerticalFadingEdgeEnabled

added in API level 1

 

public void setVerticalFadingEdgeEnabled (boolean verticalFadingEdgeEnabled)

Define whether the vertical edges should be faded when this view is scrolled vertically.

Related XML Attributes:

Parameters
verticalFadingEdgeEnabled boolean: true if the vertical edges should be faded when the view is scrolled vertically

See also:

setVerticalScrollBarEnabled

added in API level 1

 

public void setVerticalScrollBarEnabled (boolean verticalScrollBarEnabled)

Define whether the vertical scrollbar should be drawn or not. The scrollbar is not drawn by default.

Parameters
verticalScrollBarEnabled boolean: true if the vertical scrollbar should be painted

See also:

setVerticalScrollbarPosition

added in API level 11

 

public void setVerticalScrollbarPosition (int position)

Set the position of the vertical scroll bar. Should be one of SCROLLBAR_POSITION_DEFAULTSCROLLBAR_POSITION_LEFT or SCROLLBAR_POSITION_RIGHT.

Parameters
position int: Where the vertical scroll bar should be positioned.

setVisibility

added in API level 1

 

public void setVisibility (int visibility)

Set the visibility state of this view.

Related XML Attributes:

Parameters
visibility int: One of VISIBLEINVISIBLE, or GONE.

setWillNotCacheDrawing

added in API level 1

 

public void setWillNotCacheDrawing (boolean willNotCacheDrawing)

This method was deprecated in API level 28.
The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

When a View's drawing cache is enabled, drawing is redirected to an offscreen bitmap. Some views, like an ImageView, must be able to bypass this mechanism if they already draw a single bitmap, to avoid unnecessary usage of the memory.

Parameters
willNotCacheDrawing boolean: true if this view does not cache its drawing, false otherwise

setWillNotDraw

added in API level 1

 

public void setWillNotDraw (boolean willNotDraw)

If this view doesn't do any drawing on its own, set this flag to allow further optimizations. By default, this flag is not set on View, but could be set on some View subclasses such as ViewGroup. Typically, if you override onDraw(android.graphics.Canvas) you should clear this flag.

Parameters
willNotDraw boolean: whether or not this View draw on its own

setX

added in API level 11

 

public void setX (float x)

Sets the visual x position of this view, in pixels. This is equivalent to setting the translationX property to be the difference between the x value passed in and the current left property.

Parameters
x float: The visual x position of this view, in pixels.

setY

added in API level 11

 

public void setY (float y)

Sets the visual y position of this view, in pixels. This is equivalent to setting the translationY property to be the difference between the y value passed in and the current top property.

Parameters
y float: The visual y position of this view, in pixels.

setZ

added in API level 21

 

public void setZ (float z)

Sets the visual z position of this view, in pixels. This is equivalent to setting the translationZ property to be the difference between the z value passed in and the current elevation property.

Parameters
z float: The visual z position of this view, in pixels.

showContextMenu

added in API level 1

 

public boolean showContextMenu ()

Shows the context menu for this view.

Returns
boolean true if the context menu was shown, false otherwise

See also:

showContextMenu

added in API level 24

 

public boolean showContextMenu (float x, float y)

Shows the context menu for this view anchored to the specified view-relative coordinate.

Parameters
x float: the X coordinate in pixels relative to the view to which the menu should be anchored, or Float.NaN to disable anchoring
y float: the Y coordinate in pixels relative to the view to which the menu should be anchored, or Float.NaN to disable anchoring
Returns
boolean true if the context menu was shown, false otherwise

startActionMode

added in API level 23

 

public ActionMode startActionMode (ActionMode.Callback callback, int type)

Start an action mode with the given type.

Parameters
callback ActionMode.Callback: Callback that will control the lifecycle of the action mode
type int: One of ActionMode.TYPE_PRIMARY or ActionMode.TYPE_FLOATING.
Returns
ActionMode The new action mode if it is started, null otherwise

See also:

startActionMode

added in API level 11

 

public ActionMode startActionMode (ActionMode.Callback callback)

Start an action mode with the default type ActionMode.TYPE_PRIMARY.

Parameters
callback ActionMode.Callback: Callback that will control the lifecycle of the action mode
Returns
ActionMode The new action mode if it is started, null otherwise

See also:

startAnimation

added in API level 1

 

public void startAnimation (Animation animation)

Start the specified animation now.

Parameters
animation Animation: the animation to start now

startDrag

added in API level 11

 

public final boolean startDrag (ClipData data, View.DragShadowBuilder shadowBuilder, Object myLocalState, int flags)

This method was deprecated in API level 24.
Use startDragAndDrop() for newer platform versions.

Parameters
data ClipData
shadowBuilder View.DragShadowBuilder
myLocalState Object
flags int
Returns
boolean

startDragAndDrop

added in API level 24

 

public final boolean startDragAndDrop (ClipData data, View.DragShadowBuilder shadowBuilder, Object myLocalState, int flags)

Starts a drag and drop operation. When your application calls this method, it passes a View.DragShadowBuilder object to the system. The system calls this object's View.DragShadowBuilder.onProvideShadowMetrics(Point, Point) to get metrics for the drag shadow, and then calls the object's View.DragShadowBuilder.onDrawShadow(Canvas) to draw the drag shadow itself.

Once the system has the drag shadow, it begins the drag and drop operation by sending drag events to all the View objects in your application that are currently visible. It does this either by calling the View object's drag listener (an implementation of onDrag() or by calling the View object's onDragEvent() method. Both are passed a DragEventobject that has a DragEvent.getAction() value of DragEvent.ACTION_DRAG_STARTED.

Your application can invoke startDragAndDrop() on any attached View object. The View object does not need to be the one used in View.DragShadowBuilder, nor does it need to be related to the View the user selected for dragging.

Parameters
data ClipData: A ClipData object pointing to the data to be transferred by the drag and drop operation.
shadowBuilder View.DragShadowBuilder: A View.DragShadowBuilder object for building the drag shadow.
myLocalState Object: An Object containing local data about the drag and drop operation. When dispatching drag events to views in the same activity this object will be available through DragEvent.getLocalState(). Views in other activities will not have access to this data (DragEvent.getLocalState() will return null).

myLocalState is a lightweight mechanism for the sending information from the dragged View to the target Views. For example, it can contain flags that differentiate between a a copy operation and a move operation.

flags int: Flags that control the drag and drop operation. This can be set to 0 for no flags, or any combination of the following:
Returns
boolean true if the method completes successfully, or false if it fails anywhere. Returning false means the system was unable to do a drag, and so no drag operation is in progress.

startNestedScroll

added in API level 21

 

public boolean startNestedScroll (int axes)

Begin a nestable scroll operation along the given axes.

A view starting a nested scroll promises to abide by the following contract:

The view will call startNestedScroll upon initiating a scroll operation. In the case of a touch scroll this corresponds to the initial MotionEvent.ACTION_DOWN. In the case of touch scrolling the nested scroll will be terminated automatically in the same manner as ViewParent.requestDisallowInterceptTouchEvent(boolean). In the event of programmatic scrolling the caller must explicitly call stopNestedScroll() to indicate the end of the nested scroll.

If startNestedScroll returns true, a cooperative parent was found. If it returns false the caller may ignore the rest of this contract until the next scroll. Calling startNestedScroll while a nested scroll is already in progress will return true.

At each incremental step of the scroll the caller should invoke dispatchNestedPreScroll once it has calculated the requested scrolling delta. If it returns true the nested scrolling parent at least partially consumed the scroll and the caller should adjust the amount it scrolls by.

After applying the remainder of the scroll delta the caller should invoke dispatchNestedScroll, passing both the delta consumed and the delta unconsumed. A nested scrolling parent may treat these values differently. See ViewParent.onNestedScroll(View, int, int, int, int).

Parameters
axes int: Flags consisting of a combination of SCROLL_AXIS_HORIZONTAL and/orSCROLL_AXIS_VERTICAL.
Returns
boolean true if a cooperative parent was found and nested scrolling has been enabled for the current gesture.

See also:

stopNestedScroll

added in API level 21

 

public void stopNestedScroll ()

Stop a nested scroll in progress.

Calling this method when a nested scroll is not currently in progress is harmless.

See also:

toString

added in API level 1

 

public String toString ()

Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:

 
getClass().getName() + '@' + Integer.toHexString(hashCode())
Returns
String a string representation of the object.

unscheduleDrawable

added in API level 1

 

public void unscheduleDrawable (Drawable who, Runnable what)

Cancels a scheduled action on a drawable.

Parameters
who Drawable: the recipient of the action

This value must never be null.

what Runnable: the action to cancel

This value must never be null.

unscheduleDrawable

added in API level 1

 

public void unscheduleDrawable (Drawable who)

Unschedule any events associated with the given Drawable. This can be used when selecting a new Drawable into a view, so that the previous one is completely unscheduled.

Parameters
who Drawable: The Drawable to unschedule.

See also:

updateDragShadow

added in API level 24

 

public final void updateDragShadow (View.DragShadowBuilder shadowBuilder)

Updates the drag shadow for the ongoing drag and drop operation.

Parameters
shadowBuilder View.DragShadowBuilder: A View.DragShadowBuilder object for building the new drag shadow.

willNotCacheDrawing

added in API level 1

 

public boolean willNotCacheDrawing ()

This method was deprecated in API level 28.
The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or Picture and call draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

Returns whether or not this View can cache its drawing or not.

Returns
boolean true if this view does not cache its drawing, false otherwise

willNotDraw

added in API level 1

 

public boolean willNotDraw ()

Returns whether or not this View draws on its own.

Returns
boolean true if this view has nothing to draw, false otherwise

Protected methods

awakenScrollBars

added in API level 5

 

protected boolean awakenScrollBars (int startDelay, boolean invalidate)

Trigger the scrollbars to draw. When invoked this method starts an animation to fade the scrollbars out after a fixed delay. If a subclass provides animated scrolling, the start delay should equal the duration of the scrolling animation.

The animation starts only if at least one of the scrollbars is enabled, as specified by isHorizontalScrollBarEnabled() and isVerticalScrollBarEnabled(). When the animation is started, this method returns true, and false otherwise. If the animation is started, this method calls invalidate() if the invalidate parameter is set to true; in that case the caller should not call invalidate().

This method should be invoked every time a subclass directly updates the scroll parameters.

Parameters
startDelay int: the delay, in milliseconds, after which the animation should start; when the delay is 0, the animation starts immediately
invalidate boolean: Whether this method should call invalidate
Returns
boolean true if the animation is played, false otherwise

See also:

awakenScrollBars

added in API level 5

 

protected boolean awakenScrollBars (int startDelay)

Trigger the scrollbars to draw. When invoked this method starts an animation to fade the scrollbars out after a fixed delay. If a subclass provides animated scrolling, the start delay should equal the duration of the scrolling animation.

The animation starts only if at least one of the scrollbars is enabled, as specified by isHorizontalScrollBarEnabled() and isVerticalScrollBarEnabled(). When the animation is started, this method returns true, and false otherwise. If the animation is started, this method calls invalidate(); in that case the caller should not call invalidate().

This method should be invoked every time a subclass directly updates the scroll parameters.

Parameters
startDelay int: the delay, in milliseconds, after which the animation should start; when the delay is 0, the animation starts immediately
Returns
boolean true if the animation is played, false otherwise

See also:

awakenScrollBars

added in API level 5

 

protected boolean awakenScrollBars ()

Trigger the scrollbars to draw. When invoked this method starts an animation to fade the scrollbars out after a default delay. If a subclass provides animated scrolling, the start delay should equal the duration of the scrolling animation.

The animation starts only if at least one of the scrollbars is enabled, as specified by isHorizontalScrollBarEnabled() and isVerticalScrollBarEnabled(). When the animation is started, this method returns true, and false otherwise. If the animation is started, this method calls invalidate(); in that case the caller should not call invalidate().

This method should be invoked every time a subclass directly updates the scroll parameters.

This method is automatically invoked by scrollBy(int, int) and scrollTo(int, int).

Returns
boolean true if the animation is played, false otherwise

See also:

computeHorizontalScrollExtent

added in API level 1

 

protected int computeHorizontalScrollExtent ()

Compute the horizontal extent of the horizontal scrollbar's thumb within the horizontal range. This value is used to compute the length of the thumb within the scrollbar's track.

The range is expressed in arbitrary units that must be the same as the units used by computeHorizontalScrollRange() and computeHorizontalScrollOffset().

The default extent is the drawing width of this view.

Returns
int the horizontal extent of the scrollbar's thumb

See also:

computeHorizontalScrollOffset

added in API level 1

 

protected int computeHorizontalScrollOffset ()

Compute the horizontal offset of the horizontal scrollbar's thumb within the horizontal range. This value is used to compute the position of the thumb within the scrollbar's track.

The range is expressed in arbitrary units that must be the same as the units used by computeHorizontalScrollRange() and computeHorizontalScrollExtent().

The default offset is the scroll offset of this view.

Returns
int the horizontal offset of the scrollbar's thumb

See also:

computeHorizontalScrollRange

added in API level 1

 

protected int computeHorizontalScrollRange ()

Compute the horizontal range that the horizontal scrollbar represents.

The range is expressed in arbitrary units that must be the same as the units used by computeHorizontalScrollExtent() and computeHorizontalScrollOffset().

The default range is the drawing width of this view.

Returns
int the total horizontal range represented by the horizontal scrollbar

See also:

computeVerticalScrollExtent

added in API level 1

 

protected int computeVerticalScrollExtent ()

Compute the vertical extent of the vertical scrollbar's thumb within the vertical range. This value is used to compute the length of the thumb within the scrollbar's track.

The range is expressed in arbitrary units that must be the same as the units used by computeVerticalScrollRange()and computeVerticalScrollOffset().

The default extent is the drawing height of this view.

Returns
int the vertical extent of the scrollbar's thumb

See also:

computeVerticalScrollOffset

added in API level 1

 

protected int computeVerticalScrollOffset ()

Compute the vertical offset of the vertical scrollbar's thumb within the horizontal range. This value is used to compute the position of the thumb within the scrollbar's track.

The range is expressed in arbitrary units that must be the same as the units used by computeVerticalScrollRange()and computeVerticalScrollExtent().

The default offset is the scroll offset of this view.

Returns
int the vertical offset of the scrollbar's thumb

See also:

computeVerticalScrollRange

added in API level 1

 

protected int computeVerticalScrollRange ()

Compute the vertical range that the vertical scrollbar represents.

The range is expressed in arbitrary units that must be the same as the units used by computeVerticalScrollExtent()and computeVerticalScrollOffset().

Returns
int the total vertical range represented by the vertical scrollbar

The default range is the drawing height of this view.

See also:

dispatchDraw

added in API level 1

 

protected void dispatchDraw (Canvas canvas)

Called by draw to draw the child views. This may be overridden by derived classes to gain control just before its children are drawn (but after its own view has been drawn).

Parameters
canvas Canvas: the canvas on which to draw the view

dispatchGenericFocusedEvent

added in API level 14

 

protected boolean dispatchGenericFocusedEvent (MotionEvent event)

Dispatch a generic motion event to the currently focused view.

Do not call this method directly. Call dispatchGenericMotionEvent(MotionEvent) instead.

Parameters
event MotionEvent: The motion event to be dispatched.
Returns
boolean True if the event was handled by the view, false otherwise.

dispatchGenericPointerEvent

added in API level 14

 

protected boolean dispatchGenericPointerEvent (MotionEvent event)

Dispatch a generic motion event to the view under the first pointer.

Do not call this method directly. Call dispatchGenericMotionEvent(MotionEvent) instead.

Parameters
event MotionEvent: The motion event to be dispatched.
Returns
boolean True if the event was handled by the view, false otherwise.

dispatchHoverEvent

added in API level 14

 

protected boolean dispatchHoverEvent (MotionEvent event)

Dispatch a hover event.

Do not call this method directly. Call dispatchGenericMotionEvent(MotionEvent) instead.

Parameters
event MotionEvent: The motion event to be dispatched.
Returns
boolean True if the event was handled by the view, false otherwise.

dispatchRestoreInstanceState

added in API level 1

 

protected void dispatchRestoreInstanceState (SparseArray<Parcelable> container)

Called by restoreHierarchyState(android.util.SparseArray) to retrieve the state for this view and its children. May be overridden to modify how restoring happens to a view's children; for example, some views may want to not store state for their children.

Parameters
container SparseArray: The SparseArray which holds previously saved state.

See also:

dispatchSaveInstanceState

added in API level 1

 

protected void dispatchSaveInstanceState (SparseArray<Parcelable> container)

Called by saveHierarchyState(android.util.SparseArray) to store the state for this view and its children. May be overridden to modify how freezing happens to a view's children; for example, some views may want to not store state for their children.

Parameters
container SparseArray: The SparseArray in which to save the view's state.

See also:

dispatchSetActivated

added in API level 11

 

protected void dispatchSetActivated (boolean activated)

Dispatch setActivated to all of this View's children.

Parameters
activated boolean: The new activated state

See also:

dispatchSetPressed

added in API level 1

 

protected void dispatchSetPressed (boolean pressed)

Dispatch setPressed to all of this View's children.

Parameters
pressed boolean: The new pressed state

See also:

dispatchSetSelected

added in API level 1

 

protected void dispatchSetSelected (boolean selected)

Dispatch setSelected to all of this View's children.

Parameters
selected boolean: The new selected state

See also:

dispatchVisibilityChanged

added in API level 8

 

protected void dispatchVisibilityChanged (View changedView, int visibility)

Dispatch a view visibility change down the view hierarchy. ViewGroups should override to route to their children.

Parameters
changedView View: The view whose visibility changed. Could be 'this' or an ancestor view.

This value must never be null.

visibility int: The new visibility of changedView: VISIBLEINVISIBLE or GONE.

drawableStateChanged

added in API level 1

 

protected void drawableStateChanged ()

This function is called whenever the state of the view changes in such a way that it impacts the state of drawables being shown.

If the View has a StateListAnimator, it will also be called to run necessary state change animations.

Be sure to call through to the superclass when overriding this function.

If you override this method you must call through to the superclass implementation.

See also:

fitSystemWindows

added in API level 1

 

protected boolean fitSystemWindows (Rect insets)

This method was deprecated in API level 20.
As of API 20 use dispatchApplyWindowInsets(WindowInsets) to apply insets to views. Views should override onApplyWindowInsets(WindowInsets) or usesetOnApplyWindowInsetsListener(android.view.View.OnApplyWindowInsetsListener) to implement handling their own insets.

Called by the view hierarchy when the content insets for a window have changed, to allow it to adjust its content to fit within those windows. The content insets tell you the space that the status bar, input method, and other system windows infringe on the application's window.

You do not normally need to deal with this function, since the default window decoration given to applications takes care of applying it to the content of the window. If you use SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION this will not be the case, and your content can be placed under those system elements. You can then use this method within your view hierarchy if you have parts of your UI which you would like to ensure are not being covered.

The default implementation of this method simply applies the content insets to the view's padding, consuming that content (modifying the insets to be 0), and returning true. This behavior is off by default, but can be enabled through setFitsSystemWindows(boolean).

This function's traversal down the hierarchy is depth-first. The same content insets object is propagated down the hierarchy, so any changes made to it will be seen by all following views (including potentially ones above in the hierarchy since this is a depth-first traversal). The first view that returns true will abort the entire traversal.

The default implementation works well for a situation where it is used with a container that covers the entire window, allowing it to apply the appropriate insets to its content on all edges. If you need a more complicated layout (such as two different views fitting system windows, one on the top of the window, and one on the bottom), you can override the method and handle the insets however you would like. Note that the insets provided by the framework are always relative to the far edges of the window, not accounting for the location of the called view within that window. (In fact when this method is called you do not yet know where the layout will place the view, as it is done before layout happens.)

Note: unlike many View methods, there is no dispatch phase to this call. If you are overriding it in a ViewGroup and want to allow the call to continue to your children, you must be sure to call the super implementation.

Here is a sample layout that makes use of fitting system windows to have controls for a video view placed inside of the window decorations that it hides and shows. This can be used with code like the second sample (video player) shown in setSystemUiVisibility(int).

 

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <view class="com.example.android.apis.view.VideoPlayerActivity$Content" android:id="@+id/content" android:src="@drawable/frantic" android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="center" /> <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" android:animateLayoutChanges="true" > <TextView android:id="@+id/title" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="top|center_horizontal" android:textColor="#ffffffff" android:background="#a0000000" android:textAppearance="?android:attr/textAppearanceLarge" android:gravity="left" android:padding="16dp" android:text="A title goes here" /> <Button android:id="@+id/play" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center" android:textSize="28dp" /> <SeekBar android:id="@+id/seekbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom|center_horizontal" android:layout_marginBottom="16dp" /> </FrameLayout> </FrameLayout>

Parameters
insets Rect: Current content insets of the window. Prior to Build.VERSION_CODES.JELLY_BEAN you must not modify the insets or else you and Android will be unhappy.
Returns
boolean true if this view applied the insets and it should not continue propagating further down the hierarchy, false otherwise.

See also:

getBottomFadingEdgeStrength

added in API level 1

 

protected float getBottomFadingEdgeStrength ()

Returns the strength, or intensity, of the bottom faded edge. The strength is a value between 0.0 (no fade) and 1.0 (full fade). The default implementation returns 0.0 or 1.0 but no value in between. Subclasses should override this method to provide a smoother fade transition when scrolling occurs.

Returns
float the intensity of the bottom fade as a float between 0.0f and 1.0f

getBottomPaddingOffset

added in API level 2

 

protected int getBottomPaddingOffset ()

Amount by which to extend the bottom fading region. Called only when isPaddingOffsetRequired() returns true.

Returns
int The bottom padding offset in pixels.

See also:

getContextMenuInfo

added in API level 1

 

protected ContextMenu.ContextMenuInfo getContextMenuInfo ()

Views should implement this if they have extra information to associate with the context menu. The return result is supplied as a parameter to the View.OnCreateContextMenuListener.onCreateContextMenu(ContextMenu, View, ContextMenuInfo) callback.

Returns
ContextMenu.ContextMenuInfo Extra information about the item for which the context menu should be shown. This information will vary across different subclasses of View.

getHorizontalScrollbarHeight

added in API level 1

 

protected int getHorizontalScrollbarHeight ()

Returns the height of the horizontal scrollbar.

Returns
int The height in pixels of the horizontal scrollbar or 0 if there is no horizontal scrollbar.

getLeftFadingEdgeStrength

added in API level 1

 

protected float getLeftFadingEdgeStrength ()

Returns the strength, or intensity, of the left faded edge. The strength is a value between 0.0 (no fade) and 1.0 (full fade). The default implementation returns 0.0 or 1.0 but no value in between. Subclasses should override this method to provide a smoother fade transition when scrolling occurs.

Returns
float the intensity of the left fade as a float between 0.0f and 1.0f

getLeftPaddingOffset

added in API level 2

 

protected int getLeftPaddingOffset ()

Amount by which to extend the left fading region. Called only when isPaddingOffsetRequired() returns true.

Returns
int The left padding offset in pixels.

See also:

getRightFadingEdgeStrength

added in API level 1

 

protected float getRightFadingEdgeStrength ()

Returns the strength, or intensity, of the right faded edge. The strength is a value between 0.0 (no fade) and 1.0 (full fade). The default implementation returns 0.0 or 1.0 but no value in between. Subclasses should override this method to provide a smoother fade transition when scrolling occurs.

Returns
float the intensity of the right fade as a float between 0.0f and 1.0f

getRightPaddingOffset

added in API level 2

 

protected int getRightPaddingOffset ()

Amount by which to extend the right fading region. Called only when isPaddingOffsetRequired() returns true.

Returns
int The right padding offset in pixels.

See also:

getSuggestedMinimumHeight

added in API level 1

 

protected int getSuggestedMinimumHeight ()

Returns the suggested minimum height that the view should use. This returns the maximum of the view's minimum height and the background's minimum height (Drawable.getMinimumHeight()).

When being used in onMeasure(int, int), the caller should still ensure the returned height is within the requirements of the parent.

Returns
int The suggested minimum height of the view.

getSuggestedMinimumWidth

added in API level 1

 

protected int getSuggestedMinimumWidth ()

Returns the suggested minimum width that the view should use. This returns the maximum of the view's minimum width and the background's minimum width (Drawable.getMinimumWidth()).

When being used in onMeasure(int, int), the caller should still ensure the returned width is within the requirements of the parent.

Returns
int The suggested minimum width of the view.

getTopFadingEdgeStrength

added in API level 1

 

protected float getTopFadingEdgeStrength ()

Returns the strength, or intensity, of the top faded edge. The strength is a value between 0.0 (no fade) and 1.0 (full fade). The default implementation returns 0.0 or 1.0 but no value in between. Subclasses should override this method to provide a smoother fade transition when scrolling occurs.

Returns
float the intensity of the top fade as a float between 0.0f and 1.0f

getTopPaddingOffset

added in API level 2

 

protected int getTopPaddingOffset ()

Amount by which to extend the top fading region. Called only when isPaddingOffsetRequired() returns true.

Returns
int The top padding offset in pixels.

See also:

getWindowAttachCount

added in API level 1

 

protected int getWindowAttachCount ()

Returns
int The number of times this view has been attached to a window

isPaddingOffsetRequired

added in API level 2

 

protected boolean isPaddingOffsetRequired ()

If the View draws content inside its padding and enables fading edges, it needs to support padding offsets. Padding offsets are added to the fading edges to extend the length of the fade so that it covers pixels drawn inside the padding. Subclasses of this class should override this method if they need to draw content inside the padding.

Returns
boolean True if padding offset must be applied, false otherwise.

See also:

mergeDrawableStates

added in API level 1

 

protected static int[] mergeDrawableStates (int[] baseState, int[] additionalState)

Merge your own state values in additionalState into the base state values baseState that were returned byonCreateDrawableState(int).

Parameters
baseState int: The base state values returned by onCreateDrawableState(int), which will be modified to also hold your own additional state values.
additionalState int: The additional state values you would like added to baseState; this array is not modified.
Returns
int[] As a convenience, the baseState array you originally passed into the function is returned.

See also:

onAnimationEnd

added in API level 1

 

protected void onAnimationEnd ()

Invoked by a parent ViewGroup to notify the end of the animation currently associated with this view. If you override this method, always call super.onAnimationEnd();

If you override this method you must call through to the superclass implementation.

See also:

onAnimationStart

added in API level 1

 

protected void onAnimationStart ()

Invoked by a parent ViewGroup to notify the start of the animation currently associated with this view. If you override this method, always call super.onAnimationStart();

If you override this method you must call through to the superclass implementation.

See also:

onAttachedToWindow

added in API level 1

 

protected void onAttachedToWindow ()

This is called when the view is attached to a window. At this point it has a Surface and will start drawing. Note that this function is guaranteed to be called before onDraw(android.graphics.Canvas), however it may be called any time before the first onDraw -- including before or after onMeasure(int, int).

If you override this method you must call through to the superclass implementation.

See also:

onConfigurationChanged

added in API level 8

 

protected void onConfigurationChanged (Configuration newConfig)

Called when the current configuration of the resources being used by the application have changed. You can use this to decide when to reload resources that can changed based on orientation and other configuration characteristics. You only need to use this if you are not relying on the normal Activity mechanism of recreating the activity instance upon a configuration change.

Parameters
newConfig Configuration: The new resource configuration.

onCreateContextMenu

added in API level 1

 

protected void onCreateContextMenu (ContextMenu menu)

Views should implement this if the view itself is going to add items to the context menu.

Parameters
menu ContextMenu: the context menu to populate

onCreateDrawableState

added in API level 1

 

protected int[] onCreateDrawableState (int extraSpace)

Generate the new Drawable state for this view. This is called by the view system when the cached Drawable state is determined to be invalid. To retrieve the current state, you should use getDrawableState().

Parameters
extraSpace int: if non-zero, this is the number of extra entries you would like in the returned array in which you can place your own states.
Returns
int[] Returns an array holding the current Drawable state of the view.

See also:

onDetachedFromWindow

added in API level 1

 

protected void onDetachedFromWindow ()

This is called when the view is detached from a window. At this point it no longer has a surface for drawing.

If you override this method you must call through to the superclass implementation.

See also:

onDisplayHint

added in API level 8

 

protected void onDisplayHint (int hint)

Gives this view a hint about whether is displayed or not. For instance, when a View moves out of the screen, it might receives a display hint indicating the view is not displayed. Applications should not rely on this hint as there is no guarantee that they will receive one.

Parameters
hint int: A hint about whether or not this view is displayed: VISIBLE or INVISIBLE.

onDraw

added in API level 1

 

protected void onDraw (Canvas canvas)

Implement this to do your drawing.

Parameters
canvas Canvas: the canvas on which the background will be drawn

onDrawScrollBars

added in API level 7

 

protected final void onDrawScrollBars (Canvas canvas)

Request the drawing of the horizontal and the vertical scrollbar. The scrollbars are painted only if they have been awakened first.

Parameters
canvas Canvas: the canvas on which to draw the scrollbars

See also:

onFinishInflate

added in API level 1

 

protected void onFinishInflate ()

Finalize inflating a view from XML. This is called as the last phase of inflation, after all child views have been added.

Even if the subclass overrides onFinishInflate, they should always be sure to call the super method, so that we get called.

If you override this method you must call through to the superclass implementation.

onFocusChanged

added in API level 1

 

protected void onFocusChanged (boolean gainFocus, int direction, Rect previouslyFocusedRect)

Called by the view system when the focus state of this view changes. When the focus change event is caused by directional navigation, direction and previouslyFocusedRect provide insight into where the focus is coming from. When overriding, be sure to call up through to the super class so that the standard focus handling will occur.

If you override this method you must call through to the superclass implementation.

Parameters
gainFocus boolean: True if the View has focus; false otherwise.
direction int: The direction focus has moved when requestFocus() is called to give this view focus. Values are FOCUS_UPFOCUS_DOWNFOCUS_LEFTFOCUS_RIGHTFOCUS_FORWARD, or FOCUS_BACKWARD. It may not always apply, in which case use the default.

Value is FOCUS_BACKWARDFOCUS_FORWARDFOCUS_LEFTFOCUS_UPFOCUS_RIGHT or FOCUS_DOWN.

previouslyFocusedRect Rect: The rectangle, in this view's coordinate system, of the previously focused view. If applicable, this will be passed in as finer grained information about where the focus is coming from (in addition to direction). Will be null otherwise.

onLayout

added in API level 1

 

protected void onLayout (boolean changed, int left, int top, int right, int bottom)

Called from layout when this view should assign a size and position to each of its children. Derived classes with children should override this method and call layout on each of their children.

Parameters
changed boolean: This is a new size or position for this view
left int: Left position, relative to parent
top int: Top position, relative to parent
right int: Right position, relative to parent
bottom int: Bottom position, relative to parent

onMeasure

added in API level 1

 

protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec)

Measure the view and its content to determine the measured width and the measured height. This method is invoked by measure(int, int) and should be overridden by subclasses to provide accurate and efficient measurement of their contents.

CONTRACT: When overriding this method, you must call setMeasuredDimension(int, int) to store the measured width and height of this view. Failure to do so will trigger an IllegalStateException, thrown by measure(int, int). Calling the superclass' onMeasure(int, int) is a valid use.

The base class implementation of measure defaults to the background size, unless a larger size is allowed by the MeasureSpec. Subclasses should override onMeasure(int, int) to provide better measurements of their content.

If this method is overridden, it is the subclass's responsibility to make sure the measured height and width are at least the view's minimum height and width (getSuggestedMinimumHeight() and getSuggestedMinimumWidth()).

Parameters
widthMeasureSpec int: horizontal space requirements as imposed by the parent. The requirements are encoded withView.MeasureSpec.
heightMeasureSpec int: vertical space requirements as imposed by the parent. The requirements are encoded withView.MeasureSpec.

See also:

onOverScrolled

added in API level 9

 

protected void onOverScrolled (int scrollX, int scrollY, boolean clampedX, boolean clampedY)

Called by overScrollBy(int, int, int, int, int, int, int, int, boolean) to respond to the results of an over-scroll operation.

Parameters
scrollX int: New X scroll value in pixels
scrollY int: New Y scroll value in pixels
clampedX boolean: True if scrollX was clamped to an over-scroll boundary
clampedY boolean: True if scrollY was clamped to an over-scroll boundary

onRestoreInstanceState

added in API level 1

 

protected void onRestoreInstanceState (Parcelable state)

Hook allowing a view to re-apply a representation of its internal state that had previously been generated by onSaveInstanceState(). This function will never be called with a null state.

If you override this method you must call through to the superclass implementation.

Parameters
state Parcelable: The frozen state that had previously been returned by onSaveInstanceState().

See also:

onSaveInstanceState

added in API level 1

 

protected Parcelable onSaveInstanceState ()

Hook allowing a view to generate a representation of its internal state that can later be used to create a new instance with that same state. This state should only contain information that is not persistent or can not be reconstructed later. For example, you will never store your current position on screen because that will be computed again when a new instance of the view is placed in its view hierarchy.

Some examples of things you may store here: the current cursor position in a text view (but usually not the text itself since that is stored in a content provider or other persistent storage), the currently selected item in a list view.

If you override this method you must call through to the superclass implementation.

Returns
Parcelable Returns a Parcelable object containing the view's current dynamic state, or null if there is nothing interesting to save.

See also:

onScrollChanged

added in API level 1

 

protected void onScrollChanged (int l, int t, int oldl, int oldt)

This is called in response to an internal scroll in this view (i.e., the view scrolled its own contents). This is typically as a result of scrollBy(int, int) or scrollTo(int, int) having been called.

Parameters
l int: Current horizontal scroll origin.
t int: Current vertical scroll origin.
oldl int: Previous horizontal scroll origin.
oldt int: Previous vertical scroll origin.

onSetAlpha

added in API level 1

 

protected boolean onSetAlpha (int alpha)

Invoked if there is a Transform that involves alpha. Subclass that can draw themselves with the specified alpha should return true, and then respect that alpha when their onDraw() is called. If this returns false then the view may be redirected to draw into an offscreen buffer to fulfill the request, which will look fine, but may be slower than if the subclass handles it internally. The default implementation returns false.

Parameters
alpha int: The alpha (0..255) to apply to the view's drawing
Returns
boolean true if the view can draw with the specified alpha.

onSizeChanged

added in API level 1

 

protected void onSizeChanged (int w, int h, int oldw, int oldh)

This is called during layout when the size of this view has changed. If you were just added to the view hierarchy, you're called with the old values of 0.

Parameters
w int: Current width of this view.
h int: Current height of this view.
oldw int: Old width of this view.
oldh int: Old height of this view.

onVisibilityChanged

added in API level 8

 

protected void onVisibilityChanged (View changedView, int visibility)

Called when the visibility of the view or an ancestor of the view has changed.

Parameters
changedView View: The view whose visibility changed. May be this or an ancestor view.

This value must never be null.

visibility int: The new visibility, one of VISIBLEINVISIBLE or GONE.

onWindowVisibilityChanged

added in API level 1

 

protected void onWindowVisibilityChanged (int visibility)

Called when the window containing has change its visibility (between GONEINVISIBLE, and VISIBLE). Note that this tells you whether or not your window is being made visible to the window manager; this does not tell you whether or not your window is obscured by other windows on the screen, even if it is itself visible.

Parameters
visibility int: The new visibility of the window.

overScrollBy

added in API level 9

 

protected boolean overScrollBy (int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent)

Scroll the view with standard behavior for scrolling beyond the normal content boundaries. Views that call this method should override onOverScrolled(int, int, boolean, boolean) to respond to the results of an over-scroll operation. Views can use this method to handle any touch or fling-based scrolling.

Parameters
deltaX int: Change in X in pixels
deltaY int: Change in Y in pixels
scrollX int: Current X scroll value in pixels before applying deltaX
scrollY int: Current Y scroll value in pixels before applying deltaY
scrollRangeX int: Maximum content scroll range along the X axis
scrollRangeY int: Maximum content scroll range along the Y axis
maxOverScrollX int: Number of pixels to overscroll by in either direction along the X axis.
maxOverScrollY int: Number of pixels to overscroll by in either direction along the Y axis.
isTouchEvent boolean: true if this scroll operation is the result of a touch event.
Returns
boolean true if scrolling was clamped to an over-scroll boundary along either axis, false otherwise.

setMeasuredDimension

added in API level 1

 

protected final void setMeasuredDimension (int measuredWidth, int measuredHeight)

This method must be called by onMeasure(int, int) to store the measured width and measured height. Failing to do so will trigger an exception at measurement time.

Parameters
measuredWidth int: The measured width of this view. May be a complex bit mask as defined by MEASURED_SIZE_MASK and MEASURED_STATE_TOO_SMALL.
measuredHeight int: The measured height of this view. May be a complex bit mask as defined by MEASURED_SIZE_MASK and MEASURED_STATE_TOO_SMALL.

verifyDrawable

added in API level 1

 

protected boolean verifyDrawable (Drawable who)

If your view subclass is displaying its own Drawable objects, it should override this function and return true for any Drawable it is displaying. This allows animations for those drawables to be scheduled.

Be sure to call through to the super class when overriding this function.

If you override this method you must call through to the superclass implementation.

Parameters
who Drawable: The Drawable to verify. Return true if it is one you are displaying, else return the result of calling through to the super class.

This value must never be null.

Returns
boolean boolean If true than the Drawable is being displayed in the view; else false and it is not allowed to animate.

猜你喜欢

转载自blog.csdn.net/u011038298/article/details/84838826