View
  public
  
  
  
  class
  View
  
    extends Object
  
  
  
  
  
      implements
      
        AccessibilityEventSource, 
      
        Drawable.Callback, 
      
        KeyEvent.Callback
      
  
  
| java.lang.Object | |
| ↳ | android.view.View | 
 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, call
 requestFocus().
- 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. | 
|  | Called after a view and all of its children has been inflated from XML. | |
| Layout |  | Called to determine the size requirements for this view and all of its children. | 
|  | Called when this view should assign a size and position to all of its children. | |
|  | Called when the size of this view has changed. | |
| Drawing |  | Called when the view should render its content. | 
| Event processing |  | Called when a new hardware key event occurs. | 
|  | Called when a hardware key up event occurs. | |
|  | Called when a trackball motion event occurs. | |
|  | Called when a motion event occurs with pointers down on the view. | |
|  | Called when a generic motion event occurs. | |
|  | Called when a hover motion event occurs. | |
| Focus |  | Called when the view gains or loses focus. | 
|  | Called when the window containing the view gains or loses focus. | |
| Attaching |  | Called when the view is attached to a window. | 
|  | Called when the view is detached from its window. | |
|  | 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 in
 layout(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
 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).
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 it 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:
- An event comes in and is dispatched to the appropriate view. The view handles the event and notifies any listeners.
- If in the course of processing the event, the view's bounds may need
 to be changed, the view will call requestLayout().
- Similarly, if in the course of processing the event the view's appearance
 may need to be changed, the view will call invalidate().
- If either requestLayout()orinvalidate()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:tag
 attribute 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(java.lang.Object) or setTag(int, java.lang.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_X and 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(android.view.animation.Animation) or
 startAnimation(android.view.animation.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 at the touched location.  As a result, the view will not receive touches
 whenever the touch passed through a toast, dialog or other window that appears above the view's
 window.
 
 For more fine-grained control over security, consider overriding the
 onFilterTouchEventForSecurity(android.view.MotionEvent) method to implement your own
 security policy. See also MotionEvent.FLAG_WINDOW_IS_OBSCURED.
 
See also:
Summary
| Nested classes | ||
|---|---|---|
| 
        
        
        
        
        class | View.AccessibilityDelegate
 This class represents a delegate that can be registered in a  | |
| 
        
        
        
        
        class | View.BaseSavedStateBase class for derived classes that want to save and restore their own
 state in  | |
| 
        
        
        
        
        class | View.DragShadowBuilderCreates an image that the system displays during the drag and drop operation. | |
| 
        
        
        
        
        class | View.MeasureSpecA MeasureSpec encapsulates the layout requirements passed from parent to child. | |
| 
        
        
        
        
        interface | View.OnApplyWindowInsetsListenerListener for applying window insets on a view in a custom way. | |
| 
        
        
        
        
        interface | View.OnAttachStateChangeListenerInterface definition for a callback to be invoked when this view is attached or detached from its window. | |
| 
        
        
        
        
        interface | View.OnCapturedPointerListenerInterface definition for a callback to be invoked when a captured pointer event is being dispatched this view. | |
| 
        
        
        
        
        interface | View.OnClickListenerInterface definition for a callback to be invoked when a view is clicked. | |
| 
        
        
        
        
        interface | View.OnContextClickListenerInterface definition for a callback to be invoked when a view is context clicked. | |
| 
        
        
        
        
        interface | View.OnCreateContextMenuListenerInterface definition for a callback to be invoked when the context menu for this view is being built. | |
| 
        
        
        
        
        interface | View.OnDragListenerInterface definition for a listener that's invoked when a drag event is dispatched to this view. | |
| 
        
        
        
        
        interface | View.OnFocusChangeListenerInterface definition for a callback to be invoked when the focus state of a view changed. | |
| 
        
        
        
        
        interface | View.OnGenericMotionListenerInterface definition for a callback to be invoked when a generic motion event is dispatched to this view. | |
| 
        
        
        
        
        interface | View.OnHoverListenerInterface definition for a callback to be invoked when a hover event is dispatched to this view. | |
| 
        
        
        
        
        interface | View.OnKeyListenerInterface definition for a callback to be invoked when a hardware key event is dispatched to this view. | |
| 
        
        
        
        
        interface | View.OnLayoutChangeListenerInterface definition for a callback to be invoked when the layout bounds of a view changes due to layout processing. | |
| 
        
        
        
        
        interface | View.OnLongClickListenerInterface definition for a callback to be invoked when a view has been clicked and held. | |
| 
        
        
        
        
        interface | View.OnScrollChangeListenerInterface definition for a callback to be invoked when the scroll X or Y positions of a view change. | |
| 
        
        
        
        
        interface | View.OnSystemUiVisibilityChangeListener
      This interface was deprecated
      in API level 30.
    Use  | |
| 
        
        
        
        
        interface | View.OnTouchListenerInterface definition for a callback to be invoked when a touch event is dispatched to this view. | |
| 
        
        
        
        
        interface | View.OnUnhandledKeyEventListenerInterface 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:accessibilityPaneTitle | The title this view should present to accessibility as a pane title. | |
| android:accessibilityTraversalAfter | Sets the id of a view that screen readers are requested to visit before this view. | |
| android:accessibilityTraversalBefore | Sets the id of a view that screen readers are requested to visit after this view. | |
| android:allowClickWhenDisabled | Whether or not allow clicks on disabled view. | |
| android:alpha | alpha property of the view, as a value between 0 (completely transparent) and 1 (completely opaque). | |
| android:autoHandwritingEnabled | Whether or not the auto handwriting initiation is enabled in this View. | |
| 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
 " | |
| 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:clipToOutline | Whether the View's Outline should be used to clip the contents of the View. | |
| 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_focuseddefined 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()orActivity.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:importantForContentCapture | Hints the Android System whether the view node associated with this View should be use for content capture purposes. | |
| android:isCredential | Boolean that hints the Android System that the view is credential and associated with
 CredentialManager May be a boolean value, such as " | |
| 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_DOWNIf the reference refers to a view that does not exist or is part
 of a hierarchy that is invisible, aRuntimeExceptionwill result when the reference is accessed. | |
| android:nextFocusForward | Defines the next view to give focus to when the next focus is View.FOCUS_FORWARDIf the reference refers to a view that does not exist or is part
 of a hierarchy that is invisible, aRuntimeExceptionwill 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_RIGHTIf the reference refers to a view that does not exist or is part
 of a hierarchy that is invisible, aRuntimeExceptionwill result when the reference is accessed. | |
| android:nextFocusUp | Defines the next view to give focus to when the next focus is View.FOCUS_UPIf the reference refers to a view that does not exist or is part
 of a hierarchy that is invisible, aRuntimeExceptionwill 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:preferKeepClear | Sets a preference to keep the bounds of this view clear from floating windows above this view's window. | |
| 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:screenReaderFocusable | Whether this view should be treated as a focusable unit by screen reader accessibility tools. | |
| 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:supplementalDescription | Provides brief supplemental information for the view, such as the purpose of the view when that purpose is not conveyed within its textual representation. | |
| android:tag | Supply a tag for this view containing a String, to be retrieved
 later with View.getTag()or
 searched for withView.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_DATA_SENSITIVE_AUTOAutomatically determine whether the view should only allow interactions from
  | 
| int | ACCESSIBILITY_DATA_SENSITIVE_NOAllow interactions from all  | 
| int | ACCESSIBILITY_DATA_SENSITIVE_YESOnly allow interactions from  | 
| int | ACCESSIBILITY_LIVE_REGION_ASSERTIVELive region mode specifying that accessibility services should immediately notify users of changes to this view. | 
| int | ACCESSIBILITY_LIVE_REGION_NONELive region mode specifying that accessibility services should not automatically announce changes to this view. | 
| int | ACCESSIBILITY_LIVE_REGION_POLITELive region mode specifying that accessibility services should notify users of changes to this view. | 
| int | AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWSFlag requesting you to add views that are marked as not important for autofill
 (see  | 
| String | AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATEHint indicating that this view can be autofilled with a credit card expiration date. | 
| String | AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAYHint indicating that this view can be autofilled with a credit card expiration day. | 
| String | AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTHHint indicating that this view can be autofilled with a credit card expiration month. | 
| String | AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEARHint indicating that this view can be autofilled with a credit card expiration year. | 
| String | AUTOFILL_HINT_CREDIT_CARD_NUMBERHint indicating that this view can be autofilled with a credit card number. | 
| String | AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODEHint indicating that this view can be autofilled with a credit card security code. | 
| String | AUTOFILL_HINT_EMAIL_ADDRESSHint indicating that this view can be autofilled with an email address. | 
| String | AUTOFILL_HINT_NAMEHint indicating that this view can be autofilled with a user's real name. | 
| String | AUTOFILL_HINT_PASSWORDHint indicating that this view can be autofilled with a password. | 
| String | AUTOFILL_HINT_PHONEHint indicating that this view can be autofilled with a phone number. | 
| String | AUTOFILL_HINT_POSTAL_ADDRESSHint indicating that this view can be autofilled with a postal address. | 
| String | AUTOFILL_HINT_POSTAL_CODEHint indicating that this view can be autofilled with a postal code. | 
| String | AUTOFILL_HINT_USERNAMEHint indicating that this view can be autofilled with a username. | 
| int | AUTOFILL_TYPE_DATEAutofill 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  | 
| int | AUTOFILL_TYPE_LISTAutofill type for a selection list field, which is filled by an  | 
| int | AUTOFILL_TYPE_NONEAutofill type for views that cannot be autofilled. | 
| int | AUTOFILL_TYPE_TEXTAutofill type for a text field, which is filled by a  | 
| int | AUTOFILL_TYPE_TOGGLEAutofill type for a togglable field, which is filled by a  | 
| int | CONTENT_SENSITIVITY_AUTOContent sensitivity is determined by the framework. | 
| int | CONTENT_SENSITIVITY_NOT_SENSITIVEThe view doesn't display sensitive content. | 
| int | CONTENT_SENSITIVITY_SENSITIVEThe view displays sensitive content. | 
| int | DRAG_FLAG_ACCESSIBILITY_ACTIONFlag indicating that the drag was initiated with
  | 
| int | DRAG_FLAG_GLOBALFlag indicating that a drag can cross window boundaries. | 
| int | DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSIONWhen this flag is used with  | 
| int | DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSIONWhen this flag is used with  | 
| int | DRAG_FLAG_GLOBAL_SAME_APPLICATIONFlag indicating that a drag can cross window boundaries (within the same application). | 
| int | DRAG_FLAG_GLOBAL_URI_READWhen this flag is used with  | 
| int | DRAG_FLAG_GLOBAL_URI_WRITEWhen this flag is used with  | 
| int | DRAG_FLAG_HIDE_CALLING_TASK_ON_DRAG_STARTFlag indicating that this drag will result in the caller activity's task to be hidden for the duration of the drag, which means that the source activity will not receive drag events for the current drag gesture. | 
| int | DRAG_FLAG_OPAQUEFlag indicating that the drag shadow will be opaque. | 
| int | DRAG_FLAG_START_INTENT_SENDER_ON_UNHANDLED_DRAGFlag indicating that an unhandled drag should be delegated to the system to be started if no visible window wishes to handle the drop. | 
| 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,  | 
| 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,  | 
| 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,  | 
| int | FIND_VIEWS_WITH_CONTENT_DESCRIPTIONFind find views that contain the specified content description. | 
| int | FIND_VIEWS_WITH_TEXTFind views that render the specified text. | 
| int | FOCUSABLEThis view wants keystrokes. | 
| int | FOCUSABLES_ALLView flag indicating whether  | 
| int | FOCUSABLES_TOUCH_MODEView flag indicating whether  | 
| int | FOCUSABLE_AUTOThis view determines focusability automatically. | 
| int | FOCUS_BACKWARDUse with  | 
| int | FOCUS_DOWNUse with  | 
| int | FOCUS_FORWARDUse with  | 
| int | FOCUS_LEFTUse with  | 
| int | FOCUS_RIGHTUse with  | 
| int | FOCUS_UPUse with  | 
| int | GONEThis view is invisible, and it doesn't take any space for layout purposes. | 
| int | HAPTIC_FEEDBACK_ENABLEDView flag indicating whether this view should have haptic feedback enabled for events such as long presses. | 
| int | IMPORTANT_FOR_ACCESSIBILITY_AUTOAutomatically determine whether a view is important for accessibility. | 
| int | IMPORTANT_FOR_ACCESSIBILITY_NOThe view is not important for accessibility. | 
| int | IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTSThe view is not important for accessibility, nor are any of its descendant views. | 
| int | IMPORTANT_FOR_ACCESSIBILITY_YESThe view is important for accessibility. | 
| int | IMPORTANT_FOR_AUTOFILL_AUTOAutomatically determine whether a view is important for autofill. | 
| int | IMPORTANT_FOR_AUTOFILL_NOThe view is not important for autofill, but its children (if any) will be traversed. | 
| int | IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTSThe view is not important for autofill, and its children (if any) will not be traversed. | 
| int | IMPORTANT_FOR_AUTOFILL_YESThe view is important for autofill, and its children (if any) will be traversed. | 
| int | IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTSThe view is important for autofill, but its children (if any) will not be traversed. | 
| int | IMPORTANT_FOR_CONTENT_CAPTURE_AUTOAutomatically determine whether a view is important for content capture. | 
| int | IMPORTANT_FOR_CONTENT_CAPTURE_NOThe view is not important for content capture, but its children (if any) will be traversed. | 
| int | IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTSThe view is not important for content capture, and its children (if any) will not be traversed. | 
| int | IMPORTANT_FOR_CONTENT_CAPTURE_YESThe view is important for content capture, and its children (if any) will be traversed. | 
| int | IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTSThe view is important for content capture, but its children (if any) will not be traversed. | 
| int | INVISIBLEThis view is invisible, but it still takes up space for layout purposes. | 
| int | KEEP_SCREEN_ONView flag indicating that the screen should remain on while the window containing this view is visible to the user. | 
| int | LAYER_TYPE_HARDWAREIndicates that the view has a hardware layer. | 
| int | LAYER_TYPE_NONEIndicates that the view does not have a layer. | 
| int | LAYER_TYPE_SOFTWAREIndicates that the view has a software layer. | 
| int | LAYOUT_DIRECTION_INHERITHorizontal layout direction of this view is inherited from its parent. | 
| int | LAYOUT_DIRECTION_LOCALEHorizontal layout direction of this view is from deduced from the default language script for the locale. | 
| int | LAYOUT_DIRECTION_LTRHorizontal layout direction of this view is from Left to Right. | 
| int | LAYOUT_DIRECTION_RTLHorizontal layout direction of this view is from Right to Left. | 
| int | MEASURED_HEIGHT_STATE_SHIFTBit shift of  | 
| int | MEASURED_SIZE_MASKBits of  | 
| int | MEASURED_STATE_MASKBits of  | 
| int | MEASURED_STATE_TOO_SMALLBit of  | 
| int | NOT_FOCUSABLEThis view does not want keystrokes. | 
| int | NO_IDUsed to mark a View that has no ID. | 
| int | OVER_SCROLL_ALWAYSAlways allow a user to over-scroll this view, provided it is a view that can scroll. | 
| int | OVER_SCROLL_IF_CONTENT_SCROLLSAllow 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_NEVERNever allow a user to over-scroll this view. | 
| int | RECTANGLE_ON_SCREEN_REQUEST_SOURCE_INPUT_FOCUSRepresents that the user interaction that is requesting a rectangle on screen is doing so because the View has input/keyboard focus. | 
| int | RECTANGLE_ON_SCREEN_REQUEST_SOURCE_SCROLL_ONLYRepresents that the user interaction that is requesting a rectangle on screen is doing so only to scroll the View on screen, and the rectangle is not associated with a text cursor or keyboard focus. | 
| int | RECTANGLE_ON_SCREEN_REQUEST_SOURCE_TEXT_CURSORRepresents that the user interaction that is requesting a rectangle on screen is doing so because the View contains a text cursor (caret). | 
| int | RECTANGLE_ON_SCREEN_REQUEST_SOURCE_UNDEFINEDRepresents that the user interaction that is requesting a rectangle on screen is
 doing so via the original  | 
| float | REQUESTED_FRAME_RATE_CATEGORY_DEFAULT
 | 
| float | REQUESTED_FRAME_RATE_CATEGORY_HIGH
 | 
| float | REQUESTED_FRAME_RATE_CATEGORY_LOW
 | 
| float | REQUESTED_FRAME_RATE_CATEGORY_NORMAL
 | 
| float | REQUESTED_FRAME_RATE_CATEGORY_NO_PREFERENCE
 | 
| int | SCREEN_STATE_OFFIndicates that the screen has changed state and is now off. | 
| int | SCREEN_STATE_ONIndicates that the screen has changed state and is now on. | 
| int | SCROLLBARS_INSIDE_INSETThe scrollbar style to display the scrollbars inside the padded area, increasing the padding of the view. | 
| int | SCROLLBARS_INSIDE_OVERLAYThe scrollbar style to display the scrollbars inside the content area, without increasing the padding. | 
| int | SCROLLBARS_OUTSIDE_INSETThe scrollbar style to display the scrollbars at the edge of the view, increasing the padding of the view. | 
| int | SCROLLBARS_OUTSIDE_OVERLAYThe scrollbar style to display the scrollbars at the edge of the view, without increasing the padding. | 
| int | SCROLLBAR_POSITION_DEFAULTPosition the scroll bar at the default position as determined by the system. | 
| int | SCROLLBAR_POSITION_LEFTPosition the scroll bar along the left edge. | 
| int | SCROLLBAR_POSITION_RIGHTPosition the scroll bar along the right edge. | 
| int | SCROLL_AXIS_HORIZONTALIndicates scrolling along the horizontal axis. | 
| int | SCROLL_AXIS_NONEIndicates no axis of view scrolling. | 
| int | SCROLL_AXIS_VERTICALIndicates scrolling along the vertical axis. | 
| int | SCROLL_CAPTURE_HINT_AUTOThe content of this view will be considered for scroll capture if scrolling is possible. | 
| int | SCROLL_CAPTURE_HINT_EXCLUDEExplicitly exclude this view as a potential scroll capture target. | 
| int | SCROLL_CAPTURE_HINT_EXCLUDE_DESCENDANTSExplicitly exclude all children of this view as potential scroll capture targets. | 
| int | SCROLL_CAPTURE_HINT_INCLUDEExplicitly include this view as a potential scroll capture target. | 
| int | SCROLL_INDICATOR_BOTTOMScroll indicator direction for the bottom edge of the view. | 
| int | SCROLL_INDICATOR_ENDScroll indicator direction for the ending edge of the view. | 
| int | SCROLL_INDICATOR_LEFTScroll indicator direction for the left edge of the view. | 
| int | SCROLL_INDICATOR_RIGHTScroll indicator direction for the right edge of the view. | 
| int | SCROLL_INDICATOR_STARTScroll indicator direction for the starting edge of the view. | 
| int | SCROLL_INDICATOR_TOPScroll indicator direction for the top edge of the view. | 
| int | SOUND_EFFECTS_ENABLEDView 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 15.
    Use  | 
| int | STATUS_BAR_VISIBLE
      This constant was deprecated
      in API level 15.
    Use  | 
| int | SYSTEM_UI_FLAG_FULLSCREEN
      This constant was deprecated
      in API level 30.
    Use  | 
| int | SYSTEM_UI_FLAG_HIDE_NAVIGATION
      This constant was deprecated
      in API level 30.
    Use  | 
| int | SYSTEM_UI_FLAG_IMMERSIVE
      This constant was deprecated
      in API level 30.
    Use  | 
| int | SYSTEM_UI_FLAG_IMMERSIVE_STICKY
      This constant was deprecated
      in API level 30.
    Use  | 
| int | SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
      This constant was deprecated
      in API level 30.
    For floating windows, use  | 
| int | SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
      This constant was deprecated
      in API level 30.
    For floating windows, use  | 
| int | SYSTEM_UI_FLAG_LAYOUT_STABLE
      This constant was deprecated
      in API level 30.
    Use  | 
| int | SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR
      This constant was deprecated
      in API level 30.
    Use  | 
| int | SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
      This constant was deprecated
      in API level 30.
    Use  | 
| int | SYSTEM_UI_FLAG_LOW_PROFILE
      This constant was deprecated
      in API level 30.
    Low profile mode is deprecated. Hide the system bars instead if the application
 needs to be in a unobtrusive mode. Use  | 
| int | SYSTEM_UI_FLAG_VISIBLE
      This constant was deprecated
      in API level 30.
    SystemUiVisibility flags are deprecated. Use  | 
| int | SYSTEM_UI_LAYOUT_FLAGSThis constant was deprecated in API level 30. System UI layout flags are deprecated. | 
| int | TEXT_ALIGNMENT_CENTERCenter the paragraph, e.g. ALIGN_CENTER. | 
| int | TEXT_ALIGNMENT_GRAVITYDefault for the root view. | 
| int | TEXT_ALIGNMENT_INHERITDefault text alignment. | 
| int | TEXT_ALIGNMENT_TEXT_ENDAlign to the end of the paragraph, e.g. ALIGN_OPPOSITE. | 
| int | TEXT_ALIGNMENT_TEXT_STARTAlign to the start of the paragraph, e.g. ALIGN_NORMAL. | 
| int | TEXT_ALIGNMENT_VIEW_ENDAlign 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_STARTAlign 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_RTLText direction is using "any-RTL" algorithm. | 
| int | TEXT_DIRECTION_FIRST_STRONGText direction is using "first strong algorithm". | 
| int | TEXT_DIRECTION_FIRST_STRONG_LTRText direction is using "first strong algorithm". | 
| int | TEXT_DIRECTION_FIRST_STRONG_RTLText direction is using "first strong algorithm". | 
| int | TEXT_DIRECTION_INHERITText direction is inherited through  | 
| int | TEXT_DIRECTION_LOCALEText direction is coming from the system Locale. | 
| int | TEXT_DIRECTION_LTRText direction is forced to LTR. | 
| int | TEXT_DIRECTION_RTLText direction is forced to RTL. | 
| String | VIEW_LOG_TAGThe logging tag used by this class with android.util.Log. | 
| int | VISIBLEThis view is visible. | 
| Fields | |
|---|---|
| 
    public
    static
    final
    Property<View, Float> | ALPHAA Property wrapper around the  | 
| 
    protected
    static
    final
    int[] | EMPTY_STATE_SETIndicates the view has no states set. | 
| 
    protected
    static
    final
    int[] | ENABLED_FOCUSED_SELECTED_STATE_SETIndicates the view is enabled, focused and selected. | 
| 
    protected
    static
    final
    int[] | ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SETIndicates the view is enabled, focused, selected and its window has the focus. | 
| 
    protected
    static
    final
    int[] | ENABLED_FOCUSED_STATE_SETIndicates the view is enabled and has the focus. | 
| 
    protected
    static
    final
    int[] | ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SETIndicates the view is enabled, focused and its window has the focus. | 
| 
    protected
    static
    final
    int[] | ENABLED_SELECTED_STATE_SETIndicates the view is enabled and selected. | 
| 
    protected
    static
    final
    int[] | ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SETIndicates the view is enabled, selected and its window has the focus. | 
| 
    protected
    static
    final
    int[] | ENABLED_STATE_SETIndicates the view is enabled. | 
| 
    protected
    static
    final
    int[] | ENABLED_WINDOW_FOCUSED_STATE_SETIndicates the view is enabled and that its window has focus. | 
| 
    protected
    static
    final
    int[] | FOCUSED_SELECTED_STATE_SETIndicates the view is focused and selected. | 
| 
    protected
    static
    final
    int[] | FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SETIndicates the view is focused, selected and its window has the focus. | 
| 
    protected
    static
    final
    int[] | FOCUSED_STATE_SETIndicates the view is focused. | 
| 
    protected
    static
    final
    int[] | FOCUSED_WINDOW_FOCUSED_STATE_SETIndicates the view has the focus and that its window has the focus. | 
| 
    protected
    static
    final
    int[] | PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SETIndicates the view is pressed, enabled, focused and selected. | 
| 
    protected
    static
    final
    int[] | PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SETIndicates the view is pressed, enabled, focused, selected and its window has the focus. | 
| 
    protected
    static
    final
    int[] | PRESSED_ENABLED_FOCUSED_STATE_SETIndicates the view is pressed, enabled and focused. | 
| 
    protected
    static
    final
    int[] | PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SETIndicates the view is pressed, enabled, focused and its window has the focus. | 
| 
    protected
    static
    final
    int[] | PRESSED_ENABLED_SELECTED_STATE_SETIndicates the view is pressed, enabled and selected. | 
| 
    protected
    static
    final
    int[] | PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SETIndicates the view is pressed, enabled, selected and its window has the focus. | 
| 
    protected
    static
    final
    int[] | PRESSED_ENABLED_STATE_SETIndicates the view is pressed and enabled. | 
| 
    protected
    static
    final
    int[] | PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SETIndicates the view is pressed, enabled and its window has the focus. | 
| 
    protected
    static
    final
    int[] | PRESSED_FOCUSED_SELECTED_STATE_SETIndicates the view is pressed, focused and selected. | 
| 
    protected
    static
    final
    int[] | PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SETIndicates the view is pressed, focused, selected and its window has the focus. | 
| 
    protected
    static
    final
    int[] | PRESSED_FOCUSED_STATE_SETIndicates the view is pressed and focused. | 
| 
    protected
    static
    final
    int[] | PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SETIndicates the view is pressed, focused and its window has the focus. | 
| 
    protected
    static
    final
    int[] | PRESSED_SELECTED_STATE_SETIndicates the view is pressed and selected. | 
| 
    protected
    static
    final
    int[] | PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SETIndicates the view is pressed, selected and its window has the focus. | 
| 
    protected
    static
    final
    int[] | PRESSED_STATE_SETIndicates the view is pressed. | 
| 
    protected
    static
    final
    int[] | PRESSED_WINDOW_FOCUSED_STATE_SETIndicates the view is pressed and its window has the focus. | 
| 
    public
    static
    final
    Property<View, Float> | ROTATIONA Property wrapper around the  | 
| 
    public
    static
    final
    Property<View, Float> | ROTATION_XA Property wrapper around the  | 
| 
    public
    static
    final
    Property<View, Float> | ROTATION_YA Property wrapper around the  | 
| 
    public
    static
    final
    Property<View, Float> | SCALE_XA Property wrapper around the  | 
| 
    public
    static
    final
    Property<View, Float> | SCALE_YA Property wrapper around the  | 
| 
    protected
    static
    final
    int[] | SELECTED_STATE_SETIndicates the view is selected. | 
| 
    protected
    static
    final
    int[] | SELECTED_WINDOW_FOCUSED_STATE_SETIndicates the view is selected and that its window has the focus. | 
| 
    public
    static
    final
    Property<View, Float> | TRANSLATION_XA Property wrapper around the  | 
| 
    public
    static
    final
    Property<View, Float> | TRANSLATION_YA Property wrapper around the  | 
| 
    public
    static
    final
    Property<View, Float> | TRANSLATION_ZA Property wrapper around the  | 
| 
    protected
    static
    final
    int[] | WINDOW_FOCUSED_STATE_SETIndicates the view's window has focus. | 
| 
    public
    static
    final
    Property<View, Float> | XA Property wrapper around the  | 
| 
    public
    static
    final
    Property<View, Float> | YA Property wrapper around the  | 
| 
    public
    static
    final
    Property<View, Float> | ZA Property wrapper around the  | 
| 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, String extraDataKey, Bundle arguments)
      Adds extra data to an  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        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)
      This method was deprecated in API level 36. Use one of the methods described in the documentation above to semantically describe UI instead of using an announcement, as accessibility services may choose to ignore events dispatched with this method. | 
| 
        
        
        
        
        
        void | 
      autofill(AutofillValue value)
      Automatically fills the content of this view with the  | 
| 
        
        
        
        
        
        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,  | 
| 
        
        
        
        
        
        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,  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        void | 
      clearAnimation()
      Cancels any animations for this view. | 
| 
        
        
        
        
        
        void | 
      clearFocus()
      Called when this view wants to give up focus. | 
| 
        
        
        
        
        
        void | 
      clearPendingCredentialRequest()
      Clears the request and callback previously set
 through  | 
| 
        
        
        
        
        
        void | 
      clearViewTranslationCallback()
      Clear the  | 
| 
        
        
        static
        
        
        int | 
      combineMeasuredStates(int curState, int newState)
      Merge two states as returned by  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        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,  | 
| 
        
        
        
        
        
        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 | 
      dispatchCreateViewTranslationRequest(Map<AutofillId, long[]> viewIds, int[] supportedFormats, TranslationCapability capability, List<ViewTranslationRequest> requests)
      Dispatch to collect the  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        void | 
      dispatchProvideAutofillStructure(ViewStructure structure, int flags)
      Dispatches creation of a  | 
| 
        
        
        
        
        
        void | 
      dispatchProvideStructure(ViewStructure structure)
      Dispatch creation of  | 
| 
        
        
        
        
        
        void | 
      dispatchScrollCaptureSearch(Rect localVisibleRect, Point windowOffset, Consumer<ScrollCaptureTarget> targets)
      Dispatch a scroll capture search request down the view hierarchy. | 
| 
        
        
        
        
        
        void | 
      dispatchStartTemporaryDetach()
      Dispatch  | 
| 
        
        
        
        
        
        void | 
      dispatchSystemUiVisibilityChanged(int visibility)
      
      This method was deprecated
      in API level 30.
    Use  | 
| 
        
        
        
        
        
        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 | 
      dispatchWindowInsetsAnimationEnd(WindowInsetsAnimation animation)
      Dispatches  | 
| 
        
        
        
        
        
        void | 
      dispatchWindowInsetsAnimationPrepare(WindowInsetsAnimation animation)
      Dispatches  | 
| 
        
        
        
        
        
        WindowInsets | 
      dispatchWindowInsetsAnimationProgress(WindowInsets insets, List<WindowInsetsAnimation> runningAnimations)
      Dispatches  | 
| 
        
        
        
        
        
        WindowInsetsAnimation.Bounds | 
      dispatchWindowInsetsAnimationStart(WindowInsetsAnimation animation, WindowInsetsAnimation.Bounds bounds)
      Dispatches  | 
| 
        
        
        
        
        
        void | 
      dispatchWindowSystemUiVisiblityChanged(int visible)
      
      This method was deprecated
      in API level 30.
    SystemUiVisibility flags are deprecated. Use  | 
| 
        
        
        
        
        
        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
        
        OnBackInvokedDispatcher | 
      findOnBackInvokedDispatcher()
      Walk up the View hierarchy to find the nearest  | 
| 
        
        
        
        final
        <T extends View>
        T | 
      findViewById(int id)
      Finds the first descendant view with the given ID, the view itself if
 the ID matches  | 
| 
        
        
        
        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  | 
| 
        
        
        
        
        
        void | 
      forceLayout()
      Forces this view to be laid out during the next layout pass. | 
| 
        
        
        
        
        
        boolean | 
      gatherTransparentRegion(Region region)
      This is used by the ViewRoot to perform an optimization when the view hierarchy contains one or several SurfaceView. | 
| 
        
        
        
        
        
        void | 
      generateDisplayHash(String hashAlgorithm, Rect bounds, Executor executor, DisplayHashResultCallback callback)
      Called to generate a  | 
| 
        
        
        static
        
        
        int | 
      generateViewId()
      Generate a value suitable for use in  | 
| 
        
        
        
        
        
        CharSequence | 
      getAccessibilityClassName()
      Return the class name of this object to be used for accessibility purposes. | 
| 
        
        
        
        
        
        View.AccessibilityDelegate | 
      getAccessibilityDelegate()
      Returns the delegate for implementing accessibility support via composition. | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        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. | 
| 
        
        
        
        
        
        String | 
      getAllowedHandwritingDelegatePackageName()
      Returns the allowed package for delegate editor views for which this view may act as a
 handwriting delegator, as set by  | 
| 
        
        
        
        
        
        String | 
      getAllowedHandwritingDelegatorPackageName()
      Returns the allowed package for views which may act as a handwriting delegator for this
 delegate editor view, as set by  | 
| 
        
        
        
        
        
        float | 
      getAlpha()
      The opacity of the view. | 
| 
        
        
        
        
        
        Animation | 
      getAnimation()
      Get the animation currently associated with this view. | 
| 
        
        
        
        
        
        Matrix | 
      getAnimationMatrix()
      Return the current transformation matrix of the view. | 
| 
        
        
        
        
        
        IBinder | 
      getApplicationWindowToken()
      Retrieve a unique token identifying the top-level "real" window of the window that this view is attached to. | 
| 
        
        
        
        
        
        int[] | 
      getAttributeResolutionStack(int attribute)
      Returns the ordered list of resource ID that are considered when resolving attribute values
 for this  | 
| 
        
        
        
        
        
        Map<Integer, Integer> | 
      getAttributeSourceResourceMap()
      Returns the mapping of attribute resource ID to source resource ID where the attribute value was set. | 
| 
        
        
        
        
        
        String[] | 
      getAutofillHints()
      Gets the hints that help an  | 
| 
        
        
        
        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
  | 
| 
        
        
        
        
        
        AutofillValue | 
      getAutofillValue()
      Gets the  | 
| 
        
        
        
        
        
        Drawable | 
      getBackground()
      Gets the background drawable | 
| 
        
        
        
        
        
        BlendMode | 
      getBackgroundTintBlendMode()
      Return the blending mode used to apply the tint to the background drawable, if specified. | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        Rect | 
      getClipBounds()
      Returns a copy of the current  | 
| 
        
        
        
        final
        
        boolean | 
      getClipToOutline()
      Returns whether the Outline should be used to clip the contents of the View. | 
| 
        
        
        
        final
        
        ContentCaptureSession | 
      getContentCaptureSession()
      Gets the session used to notify content capture events. | 
| 
        
        
        
        
        
        CharSequence | 
      getContentDescription()
      Returns the  | 
| 
        
        
        
        final
        
        int | 
      getContentSensitivity()
      Gets content sensitivity mode to determine whether this view displays sensitive content. | 
| 
        
        
        
        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  | 
| 
        
        
        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,  | 
| 
        
        
        
        
        
        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,  | 
| 
        
        
        
        
        
        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,  | 
| 
        
        
        
        
        
        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,  | 
| 
        
        
        
        
        
        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. | 
| 
        
        
        
        
        
        int | 
      getExplicitStyle()
      Returns the resource ID for the style specified using  | 
| 
        
        
        
        
        
        boolean | 
      getFilterTouchesWhenObscured()
      Gets whether the framework should discard touches when the view's window is obscured by another visible window at the touched location. | 
| 
        
        
        
        
        
        boolean | 
      getFitsSystemWindows()
      Check for state of  | 
| 
        
        
        
        
        
        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. | 
| 
        
        
        
        
        
        BlendMode | 
      getForegroundTintBlendMode()
      Return the blending mode used to apply the tint to the foreground drawable, if specified. | 
| 
        
        
        
        
        
        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. | 
| 
        
        
        
        
        
        float | 
      getFrameContentVelocity()
      Get the current velocity of the View. | 
| 
        
        
        
        final
        
        boolean | 
      getGlobalVisibleRect(Rect r)
      Sets  | 
| 
        
        
        
        
        
        boolean | 
      getGlobalVisibleRect(Rect r, Point globalOffset)
      Sets  | 
| 
        
        
        
        
        
        Handler | 
      getHandler()
       | 
| 
        
        
        
        
        
        float | 
      getHandwritingBoundsOffsetBottom()
      Return the amount of offset applied to the bottom edge of this view's handwriting bounds, in the unit of pixel. | 
| 
        
        
        
        
        
        float | 
      getHandwritingBoundsOffsetLeft()
      Return the amount of offset applied to the left edge of this view's handwriting bounds, in the unit of pixel. | 
| 
        
        
        
        
        
        float | 
      getHandwritingBoundsOffsetRight()
      Return the amount of offset applied to the right edge of this view's handwriting bounds, in the unit of pixel. | 
| 
        
        
        
        
        
        float | 
      getHandwritingBoundsOffsetTop()
      Return the amount of offset applied to the top edge of this view's handwriting bounds, in the unit of pixel. | 
| 
        
        
        
        
        
        int | 
      getHandwritingDelegateFlags()
      Returns flags configuring the handwriting delegation behavior for this delegate editor view,
 as set by  | 
| 
        
        
        
        
        
        Runnable | 
      getHandwritingDelegatorCallback()
      Returns the callback set by  | 
| 
        
        
        
        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. | 
| 
        
        
        
        
        
        Drawable | 
      getHorizontalScrollbarThumbDrawable()
      Returns the currently configured Drawable for the thumb of the horizontal scroll bar if it exists, null otherwise. | 
| 
        
        
        
        
        
        Drawable | 
      getHorizontalScrollbarTrackDrawable()
      Returns the currently configured Drawable for the track of the horizontal scroll bar if it exists, null otherwise. | 
| 
        
        
        
        
        
        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. | 
| 
        
        
        
        
        
        int | 
      getImportantForContentCapture()
      Gets the mode for determining whether this view is important for content capture. | 
| 
        
        
        
        
        
        boolean | 
      getKeepScreenOn()
      Returns whether the screen should remain on, corresponding to the current
 value of  | 
| 
        
        
        
        
        
        KeyEvent.DispatcherState | 
      getKeyDispatcherState()
      Return the global  | 
| 
        
        
        
        
        
        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)
      Sets  | 
| 
        
        
        
        
        
        void | 
      getLocationInSurface(int[] location)
      Gets the coordinates of this view in the coordinate space of the
  | 
| 
        
        
        
        
        
        void | 
      getLocationInWindow(int[] outLocation)
      Gets the coordinates of this view in the coordinate space of the window that contains the view, irrespective of system decorations. | 
| 
        
        
        
        
        
        void | 
      getLocationOnScreen(int[] outLocation)
      Gets the coordinates of this view in the coordinate space of the device screen, irrespective of system decorations and whether the system is in multi-window mode. | 
| 
        
        
        
        
        
        Matrix | 
      getMatrix()
      The transform matrix of this view, which is calculated based on the current rotation, scale, and pivot properties. | 
| 
        
        
        
        final
        
        int | 
      getMeasuredHeight()
      Like  | 
| 
        
        
        
        final
        
        int | 
      getMeasuredHeightAndState()
      Return the full height measurement information for this view as computed
 by the most recent call to  | 
| 
        
        
        
        final
        
        int | 
      getMeasuredState()
      Return only the state bits of  | 
| 
        
        
        
        final
        
        int | 
      getMeasuredWidth()
      Like  | 
| 
        
        
        
        final
        
        int | 
      getMeasuredWidthAndState()
      Return the full width measurement information for this view as computed
 by the most recent call to  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        int | 
      getNextFocusForwardId()
      Gets the id of the view to use when the next focus is  | 
| 
        
        
        
        
        
        int | 
      getNextFocusLeftId()
      Gets the id of the view to use when the next focus is  | 
| 
        
        
        
        
        
        int | 
      getNextFocusRightId()
      Gets the id of the view to use when the next focus is  | 
| 
        
        
        
        
        
        int | 
      getNextFocusUpId()
      Gets the id of the view to use when the next focus is  | 
| 
        
        
        
        
        
        View.OnFocusChangeListener | 
      getOnFocusChangeListener()
      Returns the focus-change callback registered for this view. | 
| 
        
        
        
        
        
        int | 
      getOutlineAmbientShadowColor()
       | 
| 
        
        
        
        
        
        ViewOutlineProvider | 
      getOutlineProvider()
      Returns the current  | 
| 
        
        
        
        
        
        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. | 
| 
        
        
        
        final
        
        OutcomeReceiver<GetCredentialResponse, GetCredentialException> | 
      getPendingCredentialCallback()
      Returns the callback that has previously been set up on this view through
 the  | 
| 
        
        
        
        final
        
        GetCredentialRequest | 
      getPendingCredentialRequest()
      Returns the  | 
| 
        
        
        
        
        
        float | 
      getPivotX()
      The x location of the point around which the view is  | 
| 
        
        
        
        
        
        float | 
      getPivotY()
      The y location of the point around which the view is  | 
| 
        
        
        
        
        
        PointerIcon | 
      getPointerIcon()
      Gets the mouse pointer icon for the current view. | 
| 
        
        
        
        final
        
        List<Rect> | 
      getPreferKeepClearRects()
       | 
| 
        
        
        
        
        
        String[] | 
      getReceiveContentMimeTypes()
      Returns the MIME types accepted by  | 
| 
        
        
        
        
        
        float | 
      getRequestedFrameRate()
      Get the current preferred frame rate of the 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. | 
| 
        
        
        
        
        
        AttachedSurfaceControl | 
      getRootSurfaceControl()
      The AttachedSurfaceControl itself is not a View, it is just the interface to the windowing-system object that contains the entire view hierarchy. | 
| 
        
        
        
        
        
        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 | 
      getScrollCaptureHint()
      Returns the current scroll capture hint for this view. | 
| 
        
        
        
        
        
        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. | 
| 
        
        
        
        
        
        int | 
      getSourceLayoutResId()
      A  | 
| 
        
        
        
        final
        
        CharSequence | 
      getStateDescription()
      Returns the  | 
| 
        
        
        
        
        
        StateListAnimator | 
      getStateListAnimator()
      Returns the current StateListAnimator if exists. | 
| 
        
        
        
        
        
        CharSequence | 
      getSupplementalDescription()
      Returns the  | 
| 
        
        
        
        
        
        List<Rect> | 
      getSystemGestureExclusionRects()
      Retrieve the list of areas within this view's post-layout coordinate space where the system should not intercept touch or other pointing device gestures. | 
| 
        
        
        
        
        
        int | 
      getSystemUiVisibility()
      
      This method was deprecated
      in API level 30.
    SystemUiVisibility flags are deprecated. Use  | 
| 
        
        
        
        
        
        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. | 
| 
        
        
        
        
        
        float | 
      getTransitionAlpha()
      This property is intended only for use by the Fade transition, which animates it to produce a visual translucency that does not side-effect (or get affected by) the real alpha property. | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        float | 
      getTranslationY()
      The vertical location of this view relative to its  | 
| 
        
        
        
        
        
        float | 
      getTranslationZ()
      The depth location of this view relative to its  | 
| 
        
        
        
        
        
        long | 
      getUniqueDrawingId()
      Get the identifier used for this view by the drawing system. | 
| 
        
        
        
        
        
        int | 
      getVerticalFadingEdgeLength()
      Returns the size of the vertical faded edges used to indicate that more content in this view is visible. | 
| 
        
        
        
        
        
        int | 
      getVerticalScrollbarPosition()
       | 
| 
        
        
        
        
        
        Drawable | 
      getVerticalScrollbarThumbDrawable()
      Returns the currently configured Drawable for the thumb of the vertical scroll bar if it exists, null otherwise. | 
| 
        
        
        
        
        
        Drawable | 
      getVerticalScrollbarTrackDrawable()
      Returns the currently configured Drawable for the track of the vertical scroll bar if it exists, null otherwise. | 
| 
        
        
        
        
        
        int | 
      getVerticalScrollbarWidth()
      Returns the width of the vertical scrollbar. | 
| 
        
        
        
        
        
        ViewTranslationResponse | 
      getViewTranslationResponse()
      Returns the  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        WindowInsetsController | 
      getWindowInsetsController()
      Retrieves the single  | 
| 
        
        
        
        
        
        int | 
      getWindowSystemUiVisibility()
      
      This method was deprecated
      in API level 30.
    SystemUiVisibility flags are deprecated. Use  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        boolean | 
      hasNestedScrollingParent()
      Returns true if this view has a nested scrolling parent. | 
| 
        
        
        
        
        
        boolean | 
      hasOnClickListeners()
      Return whether this view has an attached OnClickListener. | 
| 
        
        
        
        
        
        boolean | 
      hasOnLongClickListeners()
      Return whether this view has an attached OnLongClickListener. | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        void | 
      invalidateDrawable(Drawable drawable)
      Invalidates the specified Drawable. | 
| 
        
        
        
        
        
        void | 
      invalidateOutline()
      Called to rebuild this View's Outline from its  | 
| 
        
        
        
        
        
        boolean | 
      isAccessibilityDataSensitive()
      Whether this view should restrict accessibility service access only to services that have the
  | 
| 
        
        
        
        
        
        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 | 
      isAutoHandwritingEnabled()
      Return whether the View allows automatic handwriting initiation. | 
| 
        
        
        
        
        
        boolean | 
      isClickable()
      Indicates whether this view reacts to click events or not. | 
| 
        
        
        
        final
        
        boolean | 
      isContentSensitive()
      Returns whether this view displays sensitive content, based
 on the value explicitly set by  | 
| 
        
        
        
        
        
        boolean | 
      isContextClickable()
      Indicates whether this view reacts to context clicks or not. | 
| 
        
        
        
        
        
        boolean | 
      isCredential()
      Gets the mode for determining whether this view is a credential. | 
| 
        
        
        
        
        
        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,  | 
| 
        
        
        
        
        
        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 | 
      isForceDarkAllowed()
       | 
| 
        
        
        
        
        
        boolean | 
      isHandwritingDelegate()
      Returns whether this view has been set as a handwriting delegate by  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        final
        
        boolean | 
      isImportantForContentCapture()
      Hints the Android System whether this view is considered important for content capture, based
 on the value explicitly set by  | 
| 
        
        
        
        
        
        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 the touch mode state associated with this view. | 
| 
        
        
        
        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
  | 
| 
        
        
        
        
        
        boolean | 
      isPivotSet()
      Returns whether or not a pivot has been set by a call to  | 
| 
        
        
        
        final
        
        boolean | 
      isPreferKeepClear()
      Retrieve the preference for this view to be kept clear. | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        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. | 
| 
        
        
        
        final
        
        boolean | 
      isShowingLayoutBounds()
      Returns  | 
| 
        
        
        
        
        
        boolean | 
      isShown()
      Returns the visibility of this view and all of its ancestors | 
| 
        
        
        
        
        
        boolean | 
      isSoundEffectsEnabled()
       | 
| 
        
        
        
        final
        
        boolean | 
      isTemporarilyDetached()
      Tells whether the  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        void | 
      onCancelPendingInputEvents()
      Called as the result of a call to  | 
| 
        
        
        
        
        
        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. | 
| 
        
        
        
        
        
        void | 
      onCreateViewTranslationRequest(int[] supportedFormats, Consumer<ViewTranslationRequest> requestsCollector)
      Collects a  | 
| 
        
        
        
        
        
        void | 
      onCreateVirtualViewTranslationRequests(long[] virtualIds, int[] supportedFormats, Consumer<ViewTranslationRequest> requestsCollector)
      Collects  | 
| 
        
        
        
        
        
        boolean | 
      onDragEvent(DragEvent event)
      Handles drag events sent by the system following a call to
  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        void | 
      onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info)
      Initializes an  | 
| 
        
        
        
        
        
        boolean | 
      onKeyDown(int keyCode, KeyEvent event)
      Default implementation of  | 
| 
        
        
        
        
        
        boolean | 
      onKeyLongPress(int keyCode, KeyEvent event)
      Default implementation of  | 
| 
        
        
        
        
        
        boolean | 
      onKeyMultiple(int keyCode, int repeatCount, KeyEvent event)
      Default implementation of  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        void | 
      onPointerCaptureChange(boolean hasCapture)
      Called when the window has just acquired or lost pointer capture. | 
| 
        
        
        
        
        
        void | 
      onPopulateAccessibilityEvent(AccessibilityEvent event)
      Called from  | 
| 
        
        
        
        
        
        void | 
      onProvideAutofillStructure(ViewStructure structure, int flags)
      Populates a  | 
| 
        
        
        
        
        
        void | 
      onProvideAutofillVirtualStructure(ViewStructure structure, int flags)
      Populates a  | 
| 
        
        
        
        
        
        void | 
      onProvideContentCaptureStructure(ViewStructure structure, int flags)
      Populates a  | 
| 
        
        
        
        
        
        void | 
      onProvideStructure(ViewStructure structure)
      Called when assist structure is being retrieved from a view as part of
  | 
| 
        
        
        
        
        
        void | 
      onProvideVirtualStructure(ViewStructure structure)
      Called when assist structure is being retrieved from a view as part of
  | 
| 
        
        
        
        
        
        ContentInfo | 
      onReceiveContent(ContentInfo payload)
      Implements the default behavior for receiving content for this type of view. | 
| 
        
        
        
        
        
        PointerIcon | 
      onResolvePointerIcon(MotionEvent event, int pointerIndex)
      Resolve the pointer icon that should be used for specified pointer in the motion event. | 
| 
        
        
        
        
        
        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 | 
      onScrollCaptureSearch(Rect localVisibleRect, Point windowOffset, Consumer<ScrollCaptureTarget> targets)
      Called when scroll capture is requested, to search for appropriate content to scroll. | 
| 
        
        
        
        
        
        void | 
      onStartTemporaryDetach()
      This is called when a container is going to temporarily detach a child, with
  | 
| 
        
        
        
        
        
        boolean | 
      onTouchEvent(MotionEvent event)
      Implement this method to handle pointer events. | 
| 
        
        
        
        
        
        boolean | 
      onTrackballEvent(MotionEvent event)
      Implement this method to handle trackball motion events. | 
| 
        
        
        
        
        
        void | 
      onViewTranslationResponse(ViewTranslationResponse response)
      Called when the content from  | 
| 
        
        
        
        
        
        void | 
      onVirtualViewTranslationResponses(LongSparseArray<ViewTranslationResponse> response)
      Called when the content from  | 
| 
        
        
        
        
        
        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)
      
      This method was deprecated
      in API level 30.
    SystemUiVisibility flags are deprecated. Use  | 
| 
        
        
        
        
        
        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(HapticFeedbackRequest request)
      Like  | 
| 
        
        
        
        
        
        boolean | 
      performHapticFeedback(int feedbackConstant, int flags)
      BZZZTT!!1! Like  | 
| 
        
        
        
        
        
        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. | 
| 
        
        
        
        
        
        ContentInfo | 
      performReceiveContent(ContentInfo payload)
      Receives the given content. | 
| 
        
        
        
        
        
        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.OnAttachStateChangeListener listener)
      Remove a listener for attach state changes. | 
| 
        
        
        
        
        
        void | 
      removeOnLayoutChangeListener(View.OnLayoutChangeListener listener)
      Remove a listener for layout changes. | 
| 
        
        
        
        
        
        void | 
      removeOnUnhandledKeyEventListener(View.OnUnhandledKeyEventListener listener)
      Removes a listener which will receive unhandled  | 
| 
        
        
        
        
        
        void | 
      reportAppJankStats(AppJankStats appJankStats)
      Called from apps when they want to report jank stats to the system. | 
| 
        
        
        
        
        
        void | 
      requestApplyInsets()
      Ask that a new dispatch of  | 
| 
        
        
        
        
        
        void | 
      requestFitSystemWindows()
      
      This method was deprecated
      in API level 20.
    Use  | 
| 
        
        
        
        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, boolean immediate, int source)
      Request that a rectangle of this view be visible on the screen, scrolling if necessary just enough. | 
| 
        
        
        
        
        
        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(int source)
      Request unbuffered dispatch of the given event source class to this view. | 
| 
        
        
        
        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
  | 
| 
        
        
        
        
        
        void | 
      resetPivot()
      Clears any pivot previously set by a call to   | 
| 
        
        
        static
        
        
        int | 
      resolveSize(int size, int measureSpec)
      Version of  | 
| 
        
        
        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. | 
| 
        
        
        
        final
        
        void | 
      saveAttributeDataForStyleable(Context context, int[] styleable, AttributeSet attrs, TypedArray t, int defStyleAttr, int defStyleRes)
      Stores debugging information about attributes. | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        void | 
      setAccessibilityDataSensitive(int accessibilityDataSensitive)
      Specifies whether this view should only allow interactions from
  | 
| 
        
        
        
        
        
        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 that screen readers are requested to visit before this view. | 
| 
        
        
        
        
        
        void | 
      setAccessibilityTraversalBefore(int beforeId)
      Sets the id of a view that screen readers are requested to visit after this view. | 
| 
        
        
        
        
        
        void | 
      setActivated(boolean activated)
      Changes the activated state of this view. | 
| 
        
        
        
        
        
        void | 
      setAllowClickWhenDisabled(boolean clickableWhenDisabled)
      Enables or disables click events for this view when disabled. | 
| 
        
        
        
        
        
        void | 
      setAllowedHandwritingDelegatePackage(String allowedPackageName)
      Specifies that this view may act as a handwriting initiation delegator for a delegate editor view from the specified package. | 
| 
        
        
        
        
        
        void | 
      setAllowedHandwritingDelegatorPackage(String allowedPackageName)
      Specifies that a view from the specified package may act as a handwriting delegator for this delegate editor 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 | 
      setAnimationMatrix(Matrix matrix)
      Changes the transformation matrix on the view. | 
| 
        
        
        
        
        
        void | 
      setAutoHandwritingEnabled(boolean enabled)
      Set whether this view enables automatic handwriting initiation. | 
| 
        
        
        
        
        
        void | 
      setAutofillHints(String... autofillHints)
      Sets the hints that help an  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        void | 
      setBackgroundResource(int resid)
      Set the background to a given resource. | 
| 
        
        
        
        
        
        void | 
      setBackgroundTintBlendMode(BlendMode blendMode)
      Specifies the blending mode used to apply the tint specified by
  | 
| 
        
        
        
        
        
        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 by
  | 
| 
        
        
        
        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 | 
      setContentCaptureSession(ContentCaptureSession contentCaptureSession)
      Sets the (optional)  | 
| 
        
        
        
        
        
        void | 
      setContentDescription(CharSequence contentDescription)
      Sets the  | 
| 
        
        
        
        final
        
        void | 
      setContentSensitivity(int mode)
      Sets content sensitivity mode to determine whether this view displays sensitive content (e.g. username, password etc.). | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        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,  | 
| 
        
        
        
        
        
        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,  | 
| 
        
        
        
        
        
        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,  | 
| 
        
        
        
        
        
        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 at the touched location. | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        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 | 
      setForceDarkAllowed(boolean allow)
      Sets whether or not to allow force dark to apply to 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 | 
      setForegroundTintBlendMode(BlendMode blendMode)
      Specifies the blending mode used to apply the tint specified by
  | 
| 
        
        
        
        
        
        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 by
  | 
| 
        
        
        
        
        
        void | 
      setFrameContentVelocity(float pixelsPerSecond)
      Set the current velocity of the View, we only track positive value. | 
| 
        
        
        
        
        
        void | 
      setHandwritingBoundsOffsets(float offsetLeft, float offsetTop, float offsetRight, float offsetBottom)
      Set the amount of offset applied to this view's stylus handwriting bounds. | 
| 
        
        
        
        
        
        void | 
      setHandwritingDelegateFlags(int flags)
      Sets flags configuring the handwriting delegation behavior for this delegate editor view. | 
| 
        
        
        
        
        
        void | 
      setHandwritingDelegatorCallback(Runnable callback)
      Sets a callback which should be called when a stylus  | 
| 
        
        
        
        
        
        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 | 
      setHorizontalScrollbarThumbDrawable(Drawable drawable)
      Defines the horizontal thumb drawable | 
| 
        
        
        
        
        
        void | 
      setHorizontalScrollbarTrackDrawable(Drawable drawable)
      Defines the horizontal track drawable | 
| 
        
        
        
        
        
        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 | 
      setImportantForContentCapture(int mode)
      Sets the mode for determining whether this view is considered important for content capture. | 
| 
        
        
        
        
        
        void | 
      setIsCredential(boolean isCredential)
      Sets whether this view is a credential for Credential Manager purposes. | 
| 
        
        
        
        
        
        void | 
      setIsHandwritingDelegate(boolean isHandwritingDelegate)
      Sets this view to be a handwriting delegate. | 
| 
        
        
        
        
        
        void | 
      setKeepScreenOn(boolean keepScreenOn)
      Controls whether the screen should remain on, modifying the
 value of  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        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. | 
| 
        
        
        
        final
        
        void | 
      setLeftTopRightBottom(int left, int top, int right, int bottom)
      Assign a size and position to this view. | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        void | 
      setNextFocusForwardId(int nextFocusForwardId)
      Sets the id of the view to use when the next focus is  | 
| 
        
        
        
        
        
        void | 
      setNextFocusLeftId(int nextFocusLeftId)
      Sets the id of the view to use when the next focus is  | 
| 
        
        
        
        
        
        void | 
      setNextFocusRightId(int nextFocusRightId)
      Sets the id of the view to use when the next focus is  | 
| 
        
        
        
        
        
        void | 
      setNextFocusUpId(int nextFocusUpId)
      Sets the id of the view to use when the next focus is  | 
| 
        
        
        
        
        
        void | 
      setOnApplyWindowInsetsListener(View.OnApplyWindowInsetsListener listener)
      Set an  | 
| 
        
        
        
        
        
        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 | 
      setOnReceiveContentListener(String[] mimeTypes, OnReceiveContentListener listener)
      Sets the listener to be  | 
| 
        
        
        
        
        
        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)
      
      This method was deprecated
      in API level 30.
    Use  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        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 | 
      setPendingCredentialRequest(GetCredentialRequest request, OutcomeReceiver<GetCredentialResponse, GetCredentialException> callback)
      Sets a  | 
| 
        
        
        
        
        
        void | 
      setPivotX(float pivotX)
      Sets the x location of the point around which the view is
  | 
| 
        
        
        
        
        
        void | 
      setPivotY(float pivotY)
      Sets the y location of the point around which the view is  | 
| 
        
        
        
        
        
        void | 
      setPointerIcon(PointerIcon pointerIcon)
      Set the pointer icon to be used for a mouse pointer in the current view. | 
| 
        
        
        
        final
        
        void | 
      setPreferKeepClear(boolean preferKeepClear)
      Set a preference to keep the bounds of this view clear from floating windows above this view's window. | 
| 
        
        
        
        final
        
        void | 
      setPreferKeepClearRects(List<Rect> rects)
      Set a preference to keep the provided rects clear from floating windows above this view's window. | 
| 
        
        
        
        
        
        void | 
      setPressed(boolean pressed)
      Sets the pressed state for this view. | 
| 
        
        
        
        
        
        void | 
      setRenderEffect(RenderEffect renderEffect)
      Configure the  | 
| 
        
        
        
        
        
        void | 
      setRequestedFrameRate(float frameRate)
      You can set the preferred frame rate for a View using a positive number or by specifying the preferred frame rate category using constants, including REQUESTED_FRAME_RATE_CATEGORY_NO_PREFERENCE, REQUESTED_FRAME_RATE_CATEGORY_LOW, REQUESTED_FRAME_RATE_CATEGORY_NORMAL, REQUESTED_FRAME_RATE_CATEGORY_HIGH. | 
| 
        
        
        
        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  | 
| 
        
        
        
        
        
        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)
      Sets whether this View should be a focusable element for screen readers and include non-focusable Views from its subtree when providing feedback. | 
| 
        
        
        
        
        
        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. | 
| 
        
        
        
        final
        
        void | 
      setScrollCaptureCallback(ScrollCaptureCallback callback)
      Sets the callback to receive scroll capture requests. | 
| 
        
        
        
        
        
        void | 
      setScrollCaptureHint(int hint)
      Sets the scroll capture hint for this View. | 
| 
        
        
        
        
        
        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 | 
      setStateDescription(CharSequence stateDescription)
      Sets the  | 
| 
        
        
        
        
        
        void | 
      setStateListAnimator(StateListAnimator stateListAnimator)
      Attaches the provided StateListAnimator to this View. | 
| 
        
        
        
        
        
        void | 
      setSupplementalDescription(CharSequence supplementalDescription)
      Sets the  | 
| 
        
        
        
        
        
        void | 
      setSystemGestureExclusionRects(List<Rect> rects)
      Sets a list of areas within this view's post-layout coordinate space where the system should not intercept touch or other pointing device gestures. | 
| 
        
        
        
        
        
        void | 
      setSystemUiVisibility(int visibility)
      
      This method was deprecated
      in API level 30.
    SystemUiVisibility flags are deprecated. Use  | 
| 
        
        
        
        
        
        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. | 
| 
        
        
        
        
        
        void | 
      setTransitionAlpha(float alpha)
      This property is intended only for use by the Fade transition, which animates it to produce a visual translucency that does not side-effect (or get affected by) the real alpha property. | 
| 
        
        
        
        final
        
        void | 
      setTransitionName(String transitionName)
      Sets the name of the View to be used to identify Views in Transitions. | 
| 
        
        
        
        
        
        void | 
      setTransitionVisibility(int visibility)
      Changes the visibility of this View without triggering any other changes. | 
| 
        
        
        
        
        
        void | 
      setTranslationX(float translationX)
      Sets the horizontal location of this view relative to its  | 
| 
        
        
        
        
        
        void | 
      setTranslationY(float translationY)
      Sets the vertical location of this view relative to its  | 
| 
        
        
        
        
        
        void | 
      setTranslationZ(float translationZ)
      Sets the depth location of this view relative to its  | 
| 
        
        
        
        
        
        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 | 
      setVerticalScrollbarThumbDrawable(Drawable drawable)
      Defines the vertical scrollbar thumb drawable | 
| 
        
        
        
        
        
        void | 
      setVerticalScrollbarTrackDrawable(Drawable drawable)
      Defines the vertical scrollbar track drawable | 
| 
        
        
        
        
        
        void | 
      setViewTranslationCallback(ViewTranslationCallback callback)
      Sets a  | 
| 
        
        
        
        
        
        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,  | 
| 
        
        
        
        
        
        void | 
      setWillNotDraw(boolean willNotDraw)
      If this view doesn't do any drawing on its own, set this flag to allow further optimizations. | 
| 
        
        
        
        
        
        void | 
      setWindowInsetsAnimationCallback(WindowInsetsAnimation.Callback callback)
      Sets a  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        void | 
      startAnimation(Animation animation)
      Start the specified animation now. | 
| 
        
        
        
        final
        
        boolean | 
      startDrag(ClipData data, View.DragShadowBuilder shadowBuilder, Object myLocalState, int flags)
      
      This method was deprecated
      in API level 24.
    Use  | 
| 
        
        
        
        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 | 
      transformMatrixToGlobal(Matrix matrix)
      Modifies the input matrix such that it maps view-local coordinates to on-screen coordinates. | 
| 
        
        
        
        
        
        void | 
      transformMatrixToLocal(Matrix matrix)
      Modifies the input matrix such that it maps on-screen coordinates to view-local coordinates. | 
| 
        
        
        
        
        
        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,  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        void | 
      dispatchSaveInstanceState(SparseArray<Parcelable> container)
      Called by  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        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 by
  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        void | 
      onRestoreInstanceState(Parcelable state)
      Hook allowing a view to re-apply a representation of its internal state that had previously
 been generated by  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        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  | 
| 
        
        
        
        
        
        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 | |
|---|---|
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:accessibilityPaneTitle
The title this view should present to accessibility as a pane title.
 See View.setAccessibilityPaneTitle(CharSequence)
 
May be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character;
Related methods:
android:accessibilityTraversalAfter
Sets the id of a view that screen readers are requested to visit before this view. Requests that a screen-reader visits the content of the other view before the content of this one. This does nothing if either view is not important for accessibility.
May be an integer value, such as "100".
Related methods:
android:accessibilityTraversalBefore
Sets the id of a view that screen readers are requested to visit after this view. Requests that a screen-reader visits the content of this view before the content of the one it precedes. This does nothing if either view is not important for accessibility.
May be an integer value, such as "100".
Related methods:
android:allowClickWhenDisabled
Whether or not allow clicks on disabled view.
May be a boolean value, such as "true" or
 "false".
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:autoHandwritingEnabled
Whether or not the auto handwriting initiation is enabled in this View.
For a view with an active InputConnection,
 if auto handwriting initiation is enabled, stylus movement within its view boundary
 will automatically trigger the handwriting mode.
 See View.setAutoHandwritingEnabled(boolean).
 
The default value of this flag is configurable by the device manufacturer.
May be a boolean value, such as "true" or
 "false".
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\u2019s 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\u2019s 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:clipToOutline
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
 ViewAnimationUtils.createCircularReveal(View, int, int, float, float) circular reveal animation 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().
 
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_focused defined 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\u2019s 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\u2019s 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:importantForContentCapture
Hints the Android System whether the view node associated with this View should be use for content capture 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 content capture. | 
| no | 2 | Hint the Android System that this view is *not* important for content capture, but its children (if any) will be traversed.. | 
| noExcludeDescendants | 8 | Hint the Android System that this view is *not* important for content capture, and its children (if any) will not be traversed. | 
| yes | 1 | Hint the Android System that this view is important for content capture, and its children (if any) will be traversed.. | 
| yesExcludeDescendants | 4 | Hint the Android System that this view is important for content capture, but its children (if any) will not be traversed. | 
Related methods:
android:isCredential
Boolean that hints the Android System that the view is credential and associated with CredentialManager
May be a boolean value, such as "true" or
 "false".
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:preferKeepClear
Sets a preference to keep the bounds of this view clear from floating windows above this view's window. This informs the system that the view is considered a vital area for the user and that ideally it should not be covered. Setting this is only appropriate for UI where the user would likely take action to uncover it.
The system will try to respect this, but when not possible will ignore it.
This is equivalent to View.setPreferKeepClear(boolean).
 
May be a boolean value, such as "true" or
 "false".
Related methods:
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:screenReaderFocusable
Whether this view should be treated as a focusable unit by screen reader accessibility
 tools. See View.setScreenReaderFocusable(boolean). The default
 value, false, leaves the screen reader to consider other signals, such as
 focusability or the presence of text, to decide what it focus.
 
May be a boolean value, such as "true" or
 "false".
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".
Related methods:
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".
Related methods:
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".
Related methods:
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".
Related methods:
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:supplementalDescription
Provides brief supplemental information for the view, such as the purpose of the view when that purpose is not conveyed within its textual representation. This property is used primarily for accessibility.
May be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character;
Related methods:
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\u2019s 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\u2019s resolved layoutDirection is LTR, and ALIGN_LEFT otherwise. | 
| viewStart | 5 | Align to the start of the view, which is ALIGN_LEFT if the view\u2019s 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\u2019s 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\u2019s 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_DATA_SENSITIVE_AUTO
public static final int ACCESSIBILITY_DATA_SENSITIVE_AUTO
Automatically determine whether the view should only allow interactions from
 AccessibilityServices with the
 AccessibilityServiceInfo.isAccessibilityTool() property
 set to true.
 
 Accessibility interactions from services without isAccessibilityTool set to true are
 disallowed for any of the following conditions:
 
getFilterTouchesWhenObscured().isAccessibilityDataSensitive().Constant Value: 0 (0x00000000)
ACCESSIBILITY_DATA_SENSITIVE_NO
public static final int ACCESSIBILITY_DATA_SENSITIVE_NO
Allow interactions from all AccessibilityServices,
 regardless of their
 AccessibilityServiceInfo.isAccessibilityTool() property.
Constant Value: 2 (0x00000002)
ACCESSIBILITY_DATA_SENSITIVE_YES
public static final int ACCESSIBILITY_DATA_SENSITIVE_YES
Only allow interactions from AccessibilityServices
 with the AccessibilityServiceInfo.isAccessibilityTool()
 property set to true.
Constant Value: 1 (0x00000001)
ACCESSIBILITY_LIVE_REGION_ASSERTIVE
public static final int ACCESSIBILITY_LIVE_REGION_ASSERTIVE
Live region mode specifying that accessibility services should immediately notify users of changes to this view. For example, a screen reader may interrupt ongoing speech to immediately announce these changes.
 Use with setAccessibilityLiveRegion(int).
Constant Value: 2 (0x00000002)
ACCESSIBILITY_LIVE_REGION_NONE
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
public static final int ACCESSIBILITY_LIVE_REGION_POLITE
Live region mode specifying that accessibility services should notify users of changes to this view.
 Use with setAccessibilityLiveRegion(int).
Constant Value: 1 (0x00000001)
AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS
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
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(java.lang.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:
- getAutofillType()to return- AUTOFILL_TYPE_DATE.
- getAutofillValue()to return a- date autofillvalue.
- autofill(android.view.autofill.AutofillValue)to expect a data autofillvalue.
See setAutofillHints(java.lang.String) for more info about autofill hints.
Constant Value: "creditCardExpirationDate"
AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY
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(java.lang.String[]) or
  android:autofillHint (in which case the
 value should be .AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY
See setAutofillHints(java.lang.String) for more info about autofill hints.
Constant Value: "creditCardExpirationDay"
AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH
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(java.lang.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.MONTHconvention.
- "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_DATE for more details.
 
See setAutofillHints(java.lang.String) for more info about autofill hints.
Constant Value: "creditCardExpirationMonth"
AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR
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(java.lang.String[]) or
  android:autofillHint (in which case the
 value should be .AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR
See setAutofillHints(java.lang.String) for more info about autofill hints.
Constant Value: "creditCardExpirationYear"
AUTOFILL_HINT_CREDIT_CARD_NUMBER
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(java.lang.String[]) or
  android:autofillHint (in which case the
 value should be .AUTOFILL_HINT_CREDIT_CARD_NUMBER
See setAutofillHints(java.lang.String) for more info about autofill hints.
Constant Value: "creditCardNumber"
AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE
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(java.lang.String[]) or
  android:autofillHint (in which case the
 value should be .AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE
See setAutofillHints(java.lang.String) for more info about autofill hints.
Constant Value: "creditCardSecurityCode"
AUTOFILL_HINT_EMAIL_ADDRESS
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(java.lang.String[]) or
  android:autofillHint (in which case the
 value should be .AUTOFILL_HINT_EMAIL_ADDRESS
See setAutofillHints(java.lang.String) for more info about autofill hints.
Constant Value: "emailAddress"
AUTOFILL_HINT_NAME
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(java.lang.String[]) or
  android:autofillHint (in which case the
 value should be .AUTOFILL_HINT_NAME
See setAutofillHints(java.lang.String) for more info about autofill hints.
Constant Value: "name"
AUTOFILL_HINT_PASSWORD
public static final String AUTOFILL_HINT_PASSWORD
Hint indicating that this view can be autofilled with a password.
Can be used with either setAutofillHints(java.lang.String[]) or
  android:autofillHint (in which case the
 value should be .AUTOFILL_HINT_PASSWORD
See setAutofillHints(java.lang.String) for more info about autofill hints.
Constant Value: "password"
AUTOFILL_HINT_PHONE
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(java.lang.String[]) or
  android:autofillHint (in which case the
 value should be .AUTOFILL_HINT_PHONE
See setAutofillHints(java.lang.String) for more info about autofill hints.
Constant Value: "phone"
AUTOFILL_HINT_POSTAL_ADDRESS
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(java.lang.String[]) or
  android:autofillHint (in which case the
 value should be .AUTOFILL_HINT_POSTAL_ADDRESS
See setAutofillHints(java.lang.String) for more info about autofill hints.
Constant Value: "postalAddress"
AUTOFILL_HINT_POSTAL_CODE
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(java.lang.String[]) or
  android:autofillHint (in which case the
 value should be .AUTOFILL_HINT_POSTAL_CODE
See setAutofillHints(java.lang.String) for more info about autofill hints.
Constant Value: "postalCode"
AUTOFILL_HINT_USERNAME
public static final String AUTOFILL_HINT_USERNAME
Hint indicating that this view can be autofilled with a username.
Can be used with either setAutofillHints(java.lang.String[]) or
  android:autofillHint (in which case the
 value should be .AUTOFILL_HINT_USERNAME
See setAutofillHints(java.lang.String) for more info about autofill hints.
Constant Value: "username"
AUTOFILL_TYPE_DATE
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
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 by
 AssistStructure.ViewNode.getAutofillOptions().
See also:
Constant Value: 3 (0x00000003)
AUTOFILL_TYPE_NONE
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
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
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)
CONTENT_SENSITIVITY_AUTO
public static final int CONTENT_SENSITIVITY_AUTO
Content sensitivity is determined by the framework. The framework uses a heuristic to
 determine if this view displays sensitive content.
 Autofill hints i.e. getAutofillHints()  are used in the heuristic
 to determine if this view should be considered as a sensitive view.
 
 AUTOFILL_HINT_USERNAME,
 AUTOFILL_HINT_PASSWORD,
 AUTOFILL_HINT_CREDIT_CARD_NUMBER,
 AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE,
 AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE,
 AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY,
 AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH,
 AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR
 are considered sensitive hints by the framework, and the list may include more hints
 in the future.
 
 The window hosting a sensitive view will be marked as secure during an active media
 projection session. This would be equivalent to applying
 WindowManager.LayoutParams.FLAG_SECURE to the window.
See also:
Constant Value: 0 (0x00000000)
CONTENT_SENSITIVITY_NOT_SENSITIVE
public static final int CONTENT_SENSITIVITY_NOT_SENSITIVE
The view doesn't display sensitive content.
See also:
Constant Value: 2 (0x00000002)
CONTENT_SENSITIVITY_SENSITIVE
public static final int CONTENT_SENSITIVITY_SENSITIVE
The view displays sensitive content.
 The window hosting a sensitive view will be marked as secure during an active media
 projection session. This would be equivalent to applying
 WindowManager.LayoutParams.FLAG_SECURE to the window.
See also:
Constant Value: 1 (0x00000001)
DRAG_FLAG_ACCESSIBILITY_ACTION
public static final int DRAG_FLAG_ACCESSIBILITY_ACTION
Flag indicating that the drag was initiated with
 AccessibilityNodeInfo.AccessibilityAction.ACTION_DRAG_START. When
 startDragAndDrop(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.Object, int) is called, this
 is used by the system to perform a drag without animations.
Constant Value: 1024 (0x00000400)
DRAG_FLAG_GLOBAL
public static final int DRAG_FLAG_GLOBAL
Flag indicating that a drag can cross window boundaries.  When
 startDragAndDrop(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.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
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}.
Constant Value: 64 (0x00000040)
DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION
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_SAME_APPLICATION
public static final int DRAG_FLAG_GLOBAL_SAME_APPLICATION
Flag indicating that a drag can cross window boundaries (within the same application).  When
 startDragAndDrop(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.Object, int) is called
 with this flag set, only visible windows belonging to the same application (ie. share the
 same UID) with targetSdkVersion >= API 24 will be
 able to participate in the drag operation and receive the dragged content.
 If both DRAG_FLAG_GLOBAL_SAME_APPLICATION and DRAG_FLAG_GLOBAL are set, then
 DRAG_FLAG_GLOBAL_SAME_APPLICATION takes precedence and the drag will only go to visible
 windows from the same application.
Constant Value: 4096 (0x00001000)
DRAG_FLAG_GLOBAL_URI_READ
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
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_HIDE_CALLING_TASK_ON_DRAG_START
public static final int DRAG_FLAG_HIDE_CALLING_TASK_ON_DRAG_START
Flag indicating that this drag will result in the caller activity's task to be hidden for the
 duration of the drag, which means that the source activity will not receive drag events for
 the current drag gesture. Only the current
 VoiceInteractionService may use this flag.
Constant Value: 16384 (0x00004000)
DRAG_FLAG_OPAQUE
public static final int DRAG_FLAG_OPAQUE
Flag indicating that the drag shadow will be opaque.  When
 startDragAndDrop(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.Object, int) is called
 with this flag set, the drag shadow will be opaque, otherwise, it will be semitransparent.
Constant Value: 512 (0x00000200)
DRAG_FLAG_START_INTENT_SENDER_ON_UNHANDLED_DRAG
public static final int DRAG_FLAG_START_INTENT_SENDER_ON_UNHANDLED_DRAG
Flag indicating that an unhandled drag should be delegated to the system to be started if no
 visible window wishes to handle the drop. When using this flag, the caller must provide
 ClipData with an Item that contains an immutable IntentSender to an activity to be launched
 (not a broadcast, service, etc).  See
 ClipData.Item.Builder.setIntentSender(IntentSender).
 The system can decide to launch the intent or not based on factors like the current screen
 size or windowing mode. If the system does not launch the intent, it will be canceled via the
 normal drag and drop flow.
Constant Value: 8192 (0x00002000)
DRAWING_CACHE_QUALITY_AUTO
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, android.graphics.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(android.graphics.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
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, android.graphics.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(android.graphics.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
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, android.graphics.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(android.graphics.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
public static final int FIND_VIEWS_WITH_CONTENT_DESCRIPTION
Find find views that contain the specified content description.
Constant Value: 2 (0x00000002)
FIND_VIEWS_WITH_TEXT
public static final int FIND_VIEWS_WITH_TEXT
Find views that render the specified text.
Constant Value: 1 (0x00000001)
FOCUSABLE
public static final int FOCUSABLE
This view wants keystrokes.
 Use with setFocusable(int) and android:focusable.
Constant Value: 1 (0x00000001)
FOCUSABLES_ALL
public static final int FOCUSABLES_ALL
View flag indicating whether addFocusables(java.util.ArrayList, int, int)
 should add all focusable Views regardless if they are focusable in touch mode.
Constant Value: 0 (0x00000000)
FOCUSABLES_TOUCH_MODE
public static final int FOCUSABLES_TOUCH_MODE
View flag indicating whether addFocusables(java.util.ArrayList, int, int)
 should add only Views focusable in touch mode.
Constant Value: 1 (0x00000001)
FOCUSABLE_AUTO
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
public static final int FOCUS_BACKWARD
Use with focusSearch(int). Move focus to the previous selectable
 item.
Constant Value: 1 (0x00000001)
FOCUS_DOWN
public static final int FOCUS_DOWN
Use with focusSearch(int). Move focus down.
Constant Value: 130 (0x00000082)
FOCUS_FORWARD
public static final int FOCUS_FORWARD
Use with focusSearch(int). Move focus to the next selectable
 item.
Constant Value: 2 (0x00000002)
FOCUS_LEFT
public static final int FOCUS_LEFT
Use with focusSearch(int). Move focus to the left.
Constant Value: 17 (0x00000011)
FOCUS_RIGHT
public static final int FOCUS_RIGHT
Use with focusSearch(int). Move focus to the right.
Constant Value: 66 (0x00000042)
FOCUS_UP
public static final int FOCUS_UP
Use with focusSearch(int). Move focus up.
Constant Value: 33 (0x00000021)
GONE
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
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
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
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
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
public static final int IMPORTANT_FOR_ACCESSIBILITY_YES
The view is important for accessibility.
Constant Value: 1 (0x00000001)
IMPORTANT_FOR_AUTOFILL_AUTO
public static final int IMPORTANT_FOR_AUTOFILL_AUTO
Automatically determine whether a view is important for autofill.
Constant Value: 0 (0x00000000)
IMPORTANT_FOR_AUTOFILL_NO
public static final int IMPORTANT_FOR_AUTOFILL_NO
The view is not important for autofill, but its children (if any) will be traversed.
Constant Value: 2 (0x00000002)
IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS
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.
Constant Value: 8 (0x00000008)
IMPORTANT_FOR_AUTOFILL_YES
public static final int IMPORTANT_FOR_AUTOFILL_YES
The view is important for autofill, and its children (if any) will be traversed.
Constant Value: 1 (0x00000001)
IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS
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.
Constant Value: 4 (0x00000004)
IMPORTANT_FOR_CONTENT_CAPTURE_AUTO
public static final int IMPORTANT_FOR_CONTENT_CAPTURE_AUTO
Automatically determine whether a view is important for content capture.
Constant Value: 0 (0x00000000)
IMPORTANT_FOR_CONTENT_CAPTURE_NO
public static final int IMPORTANT_FOR_CONTENT_CAPTURE_NO
The view is not important for content capture, but its children (if any) will be traversed.
Constant Value: 2 (0x00000002)
IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS
public static final int IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS
The view is not important for content capture, and its children (if any) will not be traversed.
Constant Value: 8 (0x00000008)
IMPORTANT_FOR_CONTENT_CAPTURE_YES
public static final int IMPORTANT_FOR_CONTENT_CAPTURE_YES
The view is important for content capture, and its children (if any) will be traversed.
Constant Value: 1 (0x00000001)
IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS
public static final int IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS
The view is important for content capture, but its children (if any) will not be traversed.
Constant Value: 4 (0x00000004)
INVISIBLE
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
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's
 WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON.
Constant Value: 67108864 (0x04000000)
LAYER_TYPE_HARDWARE
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.
Constant Value: 2 (0x00000002)
LAYER_TYPE_NONE
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
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.)
Constant Value: 1 (0x00000001)
LAYOUT_DIRECTION_INHERIT
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
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
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
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
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
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
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
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
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
public static final int NO_ID
Used to mark a View that has no ID.
Constant Value: -1 (0xffffffff)
OVER_SCROLL_ALWAYS
public static final int OVER_SCROLL_ALWAYS
Always allow a user to over-scroll this view, provided it is a view that can scroll.
Constant Value: 0 (0x00000000)
OVER_SCROLL_IF_CONTENT_SCROLLS
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.
Constant Value: 1 (0x00000001)
OVER_SCROLL_NEVER
public static final int OVER_SCROLL_NEVER
Never allow a user to over-scroll this view.
Constant Value: 2 (0x00000002)
RECTANGLE_ON_SCREEN_REQUEST_SOURCE_INPUT_FOCUS
public static final int RECTANGLE_ON_SCREEN_REQUEST_SOURCE_INPUT_FOCUS
Represents that the user interaction that is requesting a rectangle on screen is doing so because the View has input/keyboard focus.
Constant Value: 3 (0x00000003)
RECTANGLE_ON_SCREEN_REQUEST_SOURCE_SCROLL_ONLY
public static final int RECTANGLE_ON_SCREEN_REQUEST_SOURCE_SCROLL_ONLY
Represents that the user interaction that is requesting a rectangle on screen is doing so only to scroll the View on screen, and the rectangle is not associated with a text cursor or keyboard focus.
Constant Value: 1 (0x00000001)
RECTANGLE_ON_SCREEN_REQUEST_SOURCE_TEXT_CURSOR
public static final int RECTANGLE_ON_SCREEN_REQUEST_SOURCE_TEXT_CURSOR
Represents that the user interaction that is requesting a rectangle on screen is doing so because the View contains a text cursor (caret).
Constant Value: 2 (0x00000002)
RECTANGLE_ON_SCREEN_REQUEST_SOURCE_UNDEFINED
public static final int RECTANGLE_ON_SCREEN_REQUEST_SOURCE_UNDEFINED
Represents that the user interaction that is requesting a rectangle on screen is
 doing so via the original requestRectangleOnScreen(android.graphics.Rect) or
 requestRectangleOnScreen(android.graphics.Rect, boolean) APIs that do not define the source.
 RECTANGLE_ON_SCREEN_REQUEST_SOURCE_UNDEFINED should be reserved for backward
 compatibility and should only be provided from calls to the original API.
Constant Value: 0 (0x00000000)
REQUESTED_FRAME_RATE_CATEGORY_DEFAULT
public static final float REQUESTED_FRAME_RATE_CATEGORY_DEFAULT
Constant Value: NaN
REQUESTED_FRAME_RATE_CATEGORY_HIGH
public static final float REQUESTED_FRAME_RATE_CATEGORY_HIGH
Constant Value: -4.0
REQUESTED_FRAME_RATE_CATEGORY_LOW
public static final float REQUESTED_FRAME_RATE_CATEGORY_LOW
Constant Value: -2.0
REQUESTED_FRAME_RATE_CATEGORY_NORMAL
public static final float REQUESTED_FRAME_RATE_CATEGORY_NORMAL
Constant Value: -3.0
REQUESTED_FRAME_RATE_CATEGORY_NO_PREFERENCE
public static final float REQUESTED_FRAME_RATE_CATEGORY_NO_PREFERENCE
Constant Value: -1.0
SCREEN_STATE_OFF
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
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
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
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
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
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
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
public static final int SCROLLBAR_POSITION_LEFT
Position the scroll bar along the left edge.
Constant Value: 1 (0x00000001)
SCROLLBAR_POSITION_RIGHT
public static final int SCROLLBAR_POSITION_RIGHT
Position the scroll bar along the right edge.
Constant Value: 2 (0x00000002)
SCROLL_AXIS_HORIZONTAL
public static final int SCROLL_AXIS_HORIZONTAL
Indicates scrolling along the horizontal axis.
Constant Value: 1 (0x00000001)
SCROLL_AXIS_NONE
public static final int SCROLL_AXIS_NONE
Indicates no axis of view scrolling.
Constant Value: 0 (0x00000000)
SCROLL_AXIS_VERTICAL
public static final int SCROLL_AXIS_VERTICAL
Indicates scrolling along the vertical axis.
Constant Value: 2 (0x00000002)
SCROLL_CAPTURE_HINT_AUTO
public static final int SCROLL_CAPTURE_HINT_AUTO
The content of this view will be considered for scroll capture if scrolling is possible.
Constant Value: 0 (0x00000000)
SCROLL_CAPTURE_HINT_EXCLUDE
public static final int SCROLL_CAPTURE_HINT_EXCLUDE
Explicitly exclude this view as a potential scroll capture target. The system will not
 consider it. Mutually exclusive with SCROLL_CAPTURE_HINT_INCLUDE, which this flag
 takes precedence over.
Constant Value: 1 (0x00000001)
SCROLL_CAPTURE_HINT_EXCLUDE_DESCENDANTS
public static final int SCROLL_CAPTURE_HINT_EXCLUDE_DESCENDANTS
Explicitly exclude all children of this view as potential scroll capture targets. This view
 is unaffected. Note: Excluded children are not considered, regardless of SCROLL_CAPTURE_HINT_INCLUDE.
Constant Value: 4 (0x00000004)
SCROLL_CAPTURE_HINT_INCLUDE
public static final int SCROLL_CAPTURE_HINT_INCLUDE
Explicitly include this view as a potential scroll capture target. When locating a scroll
 capture target, this view will be prioritized before others without this flag. Mutually
 exclusive with SCROLL_CAPTURE_HINT_EXCLUDE, which takes precedence.
Constant Value: 2 (0x00000002)
SCROLL_INDICATOR_BOTTOM
public static final int SCROLL_INDICATOR_BOTTOM
Scroll indicator direction for the bottom edge of the view.
Constant Value: 2 (0x00000002)
SCROLL_INDICATOR_END
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.
Constant Value: 32 (0x00000020)
SCROLL_INDICATOR_LEFT
public static final int SCROLL_INDICATOR_LEFT
Scroll indicator direction for the left edge of the view.
Constant Value: 4 (0x00000004)
SCROLL_INDICATOR_RIGHT
public static final int SCROLL_INDICATOR_RIGHT
Scroll indicator direction for the right edge of the view.
Constant Value: 8 (0x00000008)
SCROLL_INDICATOR_START
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.
Constant Value: 16 (0x00000010)
SCROLL_INDICATOR_TOP
public static final int SCROLL_INDICATOR_TOP
Scroll indicator direction for the top edge of the view.
Constant Value: 1 (0x00000001)
SOUND_EFFECTS_ENABLED
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
public static final int STATUS_BAR_HIDDEN
      This constant was deprecated
      in API level 15.
    Use SYSTEM_UI_FLAG_LOW_PROFILE instead.
  
Constant Value: 1 (0x00000001)
STATUS_BAR_VISIBLE
public static final int STATUS_BAR_VISIBLE
      This constant was deprecated
      in API level 15.
    Use SYSTEM_UI_FLAG_VISIBLE instead.
  
Constant Value: 0 (0x00000000)
SYSTEM_UI_FLAG_FULLSCREEN
public static final int SYSTEM_UI_FLAG_FULLSCREEN
      This constant was deprecated
      in API level 30.
    Use WindowInsetsController.hide(int) with Type.statusBars()
 instead.
  
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
public static final int SYSTEM_UI_FLAG_HIDE_NAVIGATION
      This constant was deprecated
      in API level 30.
    Use WindowInsetsController.hide(int) with Type.navigationBars()
 instead.
  
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
public static final int SYSTEM_UI_FLAG_IMMERSIVE
      This constant was deprecated
      in API level 30.
    Use WindowInsetsController.BEHAVIOR_DEFAULT instead.
  
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
public static final int SYSTEM_UI_FLAG_IMMERSIVE_STICKY
      This constant was deprecated
      in API level 30.
    Use WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE instead.
  
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
public static final int SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
      This constant was deprecated
      in API level 30.
    For floating windows, use LayoutParams.setFitInsetsTypes(int) with
 Type.statusBars() ()}. For non-floating windows that fill the screen, call
 Window.setDecorFitsSystemWindows(boolean) with false.
  
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.  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 the
 fitSystemWindows(android.graphics.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 is
  LAYOUT_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
public static final int SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
      This constant was deprecated
      in API level 30.
    For floating windows, use LayoutParams.setFitInsetsTypes(int) with
 Type.navigationBars(). For non-floating windows that fill the screen, call
 Window.setDecorFitsSystemWindows(boolean) with false.
  
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.  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 the
 fitSystemWindows(android.graphics.Rect) method.
Constant Value: 512 (0x00000200)
SYSTEM_UI_FLAG_LAYOUT_STABLE
public static final int SYSTEM_UI_FLAG_LAYOUT_STABLE
      This constant was deprecated
      in API level 30.
    Use WindowInsets.getInsetsIgnoringVisibility(int) instead to retrieve
 insets that don't change when system bars change visibility state.
  
Flag for setSystemUiVisibility(int): When using other layout
 flags, we would like a stable view of the content insets given to
 fitSystemWindows(android.graphics.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 specify
 SYSTEM_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
public static final int SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR
      This constant was deprecated
      in API level 30.
    Use WindowInsetsController.APPEARANCE_LIGHT_NAVIGATION_BARS instead.
  
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 not
 FLAG_TRANSLUCENT_NAVIGATION.
See also:
Constant Value: 16 (0x00000010)
SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
public static final int SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
      This constant was deprecated
      in API level 30.
    Use WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS instead.
  
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 not
 FLAG_TRANSLUCENT_STATUS.
See also:
Constant Value: 8192 (0x00002000)
SYSTEM_UI_FLAG_LOW_PROFILE
public static final int SYSTEM_UI_FLAG_LOW_PROFILE
      This constant was deprecated
      in API level 30.
    Low profile mode is deprecated. Hide the system bars instead if the application
 needs to be in a unobtrusive mode. Use WindowInsetsController.hide(int) with
 Type.systemBars().
  
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
public static final int SYSTEM_UI_FLAG_VISIBLE
      This constant was deprecated
      in API level 30.
    SystemUiVisibility flags are deprecated. Use WindowInsetsController
 instead.
  
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
public static final int SYSTEM_UI_LAYOUT_FLAGS
      This constant was deprecated
      in API level 30.
    System UI layout flags are deprecated.
  
Flags that can impact the layout in relation to system UI.
Constant Value: 1536 (0x00000600)
TEXT_ALIGNMENT_CENTER
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
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
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
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
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
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
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
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
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
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
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
public static final int TEXT_DIRECTION_INHERIT
Text direction is inherited through ViewGroup
Constant Value: 0 (0x00000000)
TEXT_DIRECTION_LOCALE
public static final int TEXT_DIRECTION_LOCALE
Text direction is coming from the system Locale.
Constant Value: 5 (0x00000005)
TEXT_DIRECTION_LTR
public static final int TEXT_DIRECTION_LTR
Text direction is forced to LTR.
Constant Value: 3 (0x00000003)
TEXT_DIRECTION_RTL
public static final int TEXT_DIRECTION_RTL
Text direction is forced to RTL.
Constant Value: 4 (0x00000004)
VIEW_LOG_TAG
protected static final String VIEW_LOG_TAG
The logging tag used by this class with android.util.Log.
Constant Value: "View"
VISIBLE
public static final int VISIBLE
This view is visible.
 Use with setVisibility(int) and android:visibility.
Constant Value: 0 (0x00000000)
Fields
ALPHA
public static final Property<View, Float> ALPHA
A Property wrapper around the alpha functionality handled by the
 View.setAlpha(float) and View.getAlpha() methods.
EMPTY_STATE_SET
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
protected static final int[] ENABLED_FOCUSED_SELECTED_STATE_SET
Indicates the view is enabled, focused and selected.
ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET
protected static final int[] ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET
Indicates the view is enabled, focused, selected and its window has the focus.
ENABLED_FOCUSED_STATE_SET
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
protected static final int[] ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET
Indicates the view is enabled, focused and its window has the focus.
ENABLED_SELECTED_STATE_SET
protected static final int[] ENABLED_SELECTED_STATE_SET
Indicates the view is enabled and selected.
See also:
ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET
protected static final int[] ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET
Indicates the view is enabled, selected and its window has the focus.
ENABLED_STATE_SET
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
protected static final int[] ENABLED_WINDOW_FOCUSED_STATE_SET
Indicates the view is enabled and that its window has focus.
FOCUSED_SELECTED_STATE_SET
protected static final int[] FOCUSED_SELECTED_STATE_SET
Indicates the view is focused and selected.
See also:
FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET
protected static final int[] FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET
Indicates the view is focused, selected and its window has the focus.
FOCUSED_STATE_SET
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
protected static final int[] FOCUSED_WINDOW_FOCUSED_STATE_SET
Indicates the view has the focus and that its window has the focus.
PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET
protected static final int[] PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET
Indicates the view is pressed, enabled, focused and selected.
PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET
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.
PRESSED_ENABLED_FOCUSED_STATE_SET
protected static final int[] PRESSED_ENABLED_FOCUSED_STATE_SET
Indicates the view is pressed, enabled and focused.
PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET
protected static final int[] PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET
Indicates the view is pressed, enabled, focused and its window has the focus.
PRESSED_ENABLED_SELECTED_STATE_SET
protected static final int[] PRESSED_ENABLED_SELECTED_STATE_SET
Indicates the view is pressed, enabled and selected.
PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET
protected static final int[] PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET
Indicates the view is pressed, enabled, selected and its window has the focus.
PRESSED_ENABLED_STATE_SET
protected static final int[] PRESSED_ENABLED_STATE_SET
Indicates the view is pressed and enabled.
See also:
PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET
protected static final int[] PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET
Indicates the view is pressed, enabled and its window has the focus.
PRESSED_FOCUSED_SELECTED_STATE_SET
protected static final int[] PRESSED_FOCUSED_SELECTED_STATE_SET
Indicates the view is pressed, focused and selected.
PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET
protected static final int[] PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET
Indicates the view is pressed, focused, selected and its window has the focus.
PRESSED_FOCUSED_STATE_SET
protected static final int[] PRESSED_FOCUSED_STATE_SET
Indicates the view is pressed and focused.
See also:
PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET
protected static final int[] PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET
Indicates the view is pressed, focused and its window has the focus.
PRESSED_SELECTED_STATE_SET
protected static final int[] PRESSED_SELECTED_STATE_SET
Indicates the view is pressed and selected.
See also:
PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET
protected static final int[] PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET
Indicates the view is pressed, selected and its window has the focus.
PRESSED_STATE_SET
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
protected static final int[] PRESSED_WINDOW_FOCUSED_STATE_SET
Indicates the view is pressed and its window has the focus.
ROTATION
public static final Property<View, Float> ROTATION
A Property wrapper around the rotation functionality handled by the
 View.setRotation(float) and View.getRotation() methods.
ROTATION_X
public static final Property<View, Float> ROTATION_X
A Property wrapper around the rotationX functionality handled by the
 View.setRotationX(float) and View.getRotationX() methods.
ROTATION_Y
public static final Property<View, Float> ROTATION_Y
A Property wrapper around the rotationY functionality handled by the
 View.setRotationY(float) and View.getRotationY() methods.
SCALE_X
public static final Property<View, Float> SCALE_X
A Property wrapper around the scaleX functionality handled by the
 View.setScaleX(float) and View.getScaleX() methods.
SCALE_Y
public static final Property<View, Float> SCALE_Y
A Property wrapper around the scaleY functionality handled by the
 View.setScaleY(float) and View.getScaleY() methods.
SELECTED_STATE_SET
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
protected static final int[] SELECTED_WINDOW_FOCUSED_STATE_SET
Indicates the view is selected and that its window has the focus.
TRANSLATION_X
public static final Property<View, Float> TRANSLATION_X
A Property wrapper around the translationX functionality handled by the
 View.setTranslationX(float) and View.getTranslationX() methods.
TRANSLATION_Y
public static final Property<View, Float> TRANSLATION_Y
A Property wrapper around the translationY functionality handled by the
 View.setTranslationY(float) and View.getTranslationY() methods.
TRANSLATION_Z
public static final Property<View, Float> TRANSLATION_Z
A Property wrapper around the translationZ functionality handled by the
 View.setTranslationZ(float) and View.getTranslationZ() methods.
WINDOW_FOCUSED_STATE_SET
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
public static final Property<View, Float> X
A Property wrapper around the x functionality handled by the
 View.setX(float) and View.getX() methods.
Y
public static final Property<View, Float> Y
A Property wrapper around the y functionality handled by the
 View.setY(float) and View.getY() methods.
Z
public static final Property<View, Float> Z
A Property wrapper around the z functionality handled by the
 View.setZ(float) and View.getZ() methods.
Public constructors
View
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
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 benull. | 
See also:
View
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 benull. | 
| 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
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:
- Any attribute values in the given AttributeSet.
- The style resource specified in the AttributeSet (named "style").
- The default style specified by defStyleAttr.
- The default style specified by defStyleRes.
- 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 benull. | 
| 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
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
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. Nevernull. | 
| extraDataKey | String: A key specifying the type of extra data to add to the info. The
                     extra data should be added to theBundlereturned by
                     the info'sAccessibilityNodeInfo.getExtrasmethod. Nevernull. | 
| arguments | Bundle: ABundleholding any arguments relevant for this request. May benullif the service provided no arguments. | 
addFocusables
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 isFOCUS_BACKWARD,FOCUS_FORWARD,FOCUS_LEFT,FOCUS_UP,FOCUS_RIGHT, orFOCUS_DOWN | 
addFocusables
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 isFOCUS_BACKWARD,FOCUS_FORWARD,FOCUS_LEFT,FOCUS_UP,FOCUS_RIGHT, orFOCUS_DOWN | 
| focusableMode | int: The type of focusables to be added.
 Value is either0or a combination ofFOCUSABLES_ALL, andFOCUSABLES_TOUCH_MODE | 
See also:
addKeyboardNavigationClusters
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 cannot benull. | 
| direction | int: Direction to look | 
addOnAttachStateChangeListener
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(android.view.View.OnAttachStateChangeListener).
| Parameters | |
|---|---|
| listener | View.OnAttachStateChangeListener: Listener to attach | 
addOnLayoutChangeListener
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
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 unhandledKeyEvents. | 
addTouchables
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
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
public void announceForAccessibility (CharSequence text)
      This method was deprecated
      in API level 36.
    Use one of the methods described in the documentation above to semantically
     describe UI instead of using an announcement, as accessibility services may choose to
     ignore events dispatched with this method.
  
Convenience method for sending a AccessibilityEvent.TYPE_ANNOUNCEMENT AccessibilityEvent to suggest that an accessibility service announce the specified text to
 its users.
 
Note: The event generated with this API carries no semantic meaning, and accessibility services may choose to ignore it. Apps that accurately supply accessibility with the semantics of their UI should not need to specify what exactly is announced.
In general, do not attempt to generate announcements as confirmation message for simple actions like a button press. Label your controls concisely and precisely instead.
To convey significant UI changes like window changes, use Activity.setTitle(CharSequence) and setAccessibilityPaneTitle(java.lang.CharSequence).
 
Use setAccessibilityLiveRegion(int) to inform the user of changes to critical
 views within the user interface. These should still be used sparingly as they may generate
 announcements every time a View is updated.
 
Use setStateDescription(java.lang.CharSequence) to convey state changes to views within the
 user interface. While a live region may send different types of events generated by the view,
 state description will send AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED events of
 type AccessibilityEvent.CONTENT_CHANGE_TYPE_STATE_DESCRIPTION.
 
For notifying users about errors, such as in a login screen with text that displays an
 "incorrect password" notification, set AccessibilityNodeInfo.setError(CharSequence)
 and dispatch an AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED event with a change
 type of AccessibilityEvent.CONTENT_CHANGE_TYPE_ERROR, instead. Some widgets may
 expose methods that convey error states to accessibility automatically, such as TextView.setError(CharSequence), which manages these accessibility semantics
 and event dispatch for callers.
| Parameters | |
|---|---|
| text | CharSequence: The announcement text. | 
autofill
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(android.view.ViewStructure, int) is responsible for the former,
 this method is responsible for latter.
 
This method does nothing by default, but when overridden it typically:
- Checks if the provided value matches the expected type (which is defined by
       getAutofillType()).
- Checks if the view is editable - if it isn't, it should return right away.
- Call the proper getter method on AutofillValueto fetch the actual value.
- 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
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(android.view.ViewStructure, int) is responsible for the
 former, this method is responsible for the latter - see autofill(android.view.autofill.AutofillValue) and
 onProvideAutofillVirtualStructure(android.view.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 cannot benull. | 
bringToFront
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.KITKAT this
 method should be followed by calls to requestLayout() and
 View.invalidate() on the view's parent to force the parent to redraw
 with the new child ordering.
See also:
buildDrawingCache
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, android.graphics.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(android.graphics.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
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, android.graphics.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(android.graphics.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
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 | 
callOnClick
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
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
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
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
public boolean canScrollHorizontally (int direction)
Check if this view can be scrolled horizontally in a certain direction.
This is without regard to whether the view is enabled or not, or if it will scroll in response to user input or not.
| 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
public boolean canScrollVertically (int direction)
Check if this view can be scrolled vertically in a certain direction.
This is without regard to whether the view is enabled or not, or if it will scroll in response to user input or not.
| 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
public final void cancelDragAndDrop ()
Cancels an ongoing drag and drop operation.
 A DragEvent object with
 DragEvent.getAction() value of
 DragEvent.ACTION_DRAG_ENDED and
 DragEvent.getResult() value of false
 will be sent to every
 View that received DragEvent.ACTION_DRAG_STARTED
 even 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
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
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 override
 onCancelPendingInputEvents() 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
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
public void clearAnimation ()
Cancels any animations for this view.
clearFocus
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.
clearPendingCredentialRequest
public void clearPendingCredentialRequest ()
Clears the request and callback previously set
 through View.setPendingCredentialRequest.
 Once this API is invoked, there will be no request fired to CredentialManager
 on future view focus events.
clearViewTranslationCallback
public void clearViewTranslationCallback ()
Clear the ViewTranslationCallback from this view.
combineMeasuredStates
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
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
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
           toonApplyWindowInsets(android.view.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
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 calling
 onInitializeAccessibilityNodeInfo(android.view.accessibility.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
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(android.view.ContextMenu) or define an
 OnCreateContextMenuListener to add items to the context menu.
| Parameters | |
|---|---|
| menu | ContextMenu: The context menu to populate | 
destroyDrawingCache
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, android.graphics.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(android.graphics.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 calling
 setDrawingCacheEnabled(true), you
 should cleanup the cache with this method afterwards.
dispatchApplyWindowInsets
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(android.view.WindowInsets) method or alternatively provide a
 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
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
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. | 
dispatchCreateViewTranslationRequest
public void dispatchCreateViewTranslationRequest (Map<AutofillId, long[]> viewIds, int[] supportedFormats, TranslationCapability capability, List<ViewTranslationRequest> requests)
Dispatch to collect the ViewTranslationRequests for translation purpose by traversing
 the hierarchy when the app requests ui translation. Typically, this method should only be
 overridden by subclasses that provide a view hierarchy (such as ViewGroup). Other
 classes should override View.onCreateViewTranslationRequest for normal view or
 override View.onVirtualViewTranslationResponses for view contains virtual children.
 When requested to start the ui translation, the system will call this method to traverse the
 view hierarchy to collect ViewTranslationRequests and create a
 Translator to translate the requests. All the
 ViewTranslationRequests must be added when the traversal is done.
 
 The default implementation calls View.onCreateViewTranslationRequest for normal
 view or calls View.onVirtualViewTranslationResponses for view contains virtual
 children to build ViewTranslationRequest if the view should be translated.
 The view is marked as having transient state so that
 recycling of views doesn't prevent the system from attaching the response to it. Therefore,
 if overriding this method, you should set or reset the transient state. 
| Parameters | |
|---|---|
| viewIds | Map: a map for the view'sAutofillIdand its virtual child ids ornullif the view doesn't have virtual child that should be translated. The virtual
 child ids are the same virtual ids provided by ContentCapture. | 
| supportedFormats | int: the supported translation formats. For now, the only possible value
 is theTranslationSpec.DATA_FORMAT_TEXT.
 This value cannot benull.
 Value isTranslationSpec.DATA_FORMAT_TEXT | 
| capability | TranslationCapability: aTranslationCapabilitythat holds translation capability.
 information, e.g. source spec, target spec.
 This value cannot benull. | 
| requests | List: fill in withViewTranslationRequests for translation purpose.
 This value cannot benull. | 
dispatchDisplayHint
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:VISIBLEorINVISIBLE.
 Value isVISIBLE,INVISIBLE, orGONE | 
dispatchDragEvent
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 the
 DragEvent 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
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
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
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(android.view.MotionEvent) first.
 
| Parameters | |
|---|---|
| event | MotionEvent: The motion event to be dispatched. | 
| Returns | |
|---|---|
| boolean | True if the event was handled by the view, false otherwise. | 
dispatchKeyEvent
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
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
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
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
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
public boolean dispatchNestedPrePerformAccessibilityAction (int action, 
                Bundle arguments)Report an accessibility action to this view's parents for delegated processing.
Implementations of performAccessibilityAction(int, android.os.Bundle) may internally
 call this method to delegate an accessibility action to a supporting parent. If the parent
 returns true from its
 ViewParent.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
 This value may benull. | 
| Returns | |
|---|---|
| boolean | true if the action was consumed by a parent | 
dispatchNestedPreScroll
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 | 
dispatchNestedScroll
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. | 
dispatchPointerCaptureChanged
public void dispatchPointerCaptureChanged (boolean hasCapture)
| Parameters | |
|---|---|
| hasCapture | boolean | 
See also:
dispatchPopulateAccessibilityEvent
public boolean dispatchPopulateAccessibilityEvent (AccessibilityEvent event)
Dispatches an AccessibilityEvent to the View to add the text content of the
 view and its children.
 
Note: This method should only be used with event.setText(). Avoid mutating other event state in this method. In general, put UI metadata in the node for services to easily query.
-  If you are modifying other event properties, you may be eliminating semantics
     accessibility services may want. Instead, send a separate event using
     sendAccessibilityEvent(int)and overrideonInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent).
- If you are checking for type AccessibilityEvent.TYPE_WINDOW_STATE_CHANGEDto generate window/title announcements, you may be causing disruptive announcements (or making no announcements at all). Instead, follow the practices described inView.announceForAccessibility(CharSequence). Note: this does not suggest calling announceForAccessibility(), but using the suggestions listed in its documentation.
- If you are making changes based on the state of accessibility, such as checking for
     an event type to trigger a UI update, while well-intentioned, you are creating brittle,
     less well-maintained code that works for some users but not others. Instead, leverage
     existing code for equitable experiences and less technical debt. See
     AccessibilityManager.isEnabled()for an example.
 Note that the event text is populated in a separate dispatch path
 (onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent)) 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 call
 onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent) on this view
 and then call the dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent)
 on each child or the first child that is visible. Override this method if custom population
 of the event text content is required.
 
 If an AccessibilityDelegate has been specified via calling
 setAccessibilityDelegate(android.view.View.AccessibilityDelegate) its
 AccessibilityDelegate.dispatchPopulateAccessibilityEvent(View, AccessibilityEvent)
 is responsible for handling this call.
 
 If this view sets isAccessibilityDataSensitive() then this view should only append
 sensitive information to an event that also sets
 AccessibilityEvent.isAccessibilityDataSensitive().
 
 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
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:
- Sets the AutofillIdin the structure.
- Calls onProvideAutofillStructure(android.view.ViewStructure, int).
- Calls onProvideAutofillVirtualStructure(android.view.ViewStructure, int).
Typically, this method should only be overridden by subclasses that provide a view
 hierarchy (such as ViewGroup) - other classes should override
 onProvideAutofillStructure(android.view.ViewStructure, int) or
 onProvideAutofillVirtualStructure(android.view.ViewStructure, int) instead.
 
When overridden, it must:
- Either call
       super.dispatchProvideAutofillStructure(structure, flags)or explicitly set theAutofillIdin the structure (for example, by callingstructure.setAutofillId(getAutofillId())).
- Decide how to handle the AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWSflag - when set, all views in the structure should be considered important for autofill, regardless of whatisImportantForAutofill()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 cannot benull. | 
| flags | int: optional flags.
 Value is either0orAUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS | 
dispatchProvideStructure
public void dispatchProvideStructure (ViewStructure structure)
Dispatch creation of ViewStructure down the hierarchy.  The default
 implementation calls onProvideStructure(ViewStructure) and
 onProvideVirtualStructure(ViewStructure).
| Parameters | |
|---|---|
| structure | ViewStructure | 
dispatchScrollCaptureSearch
public void dispatchScrollCaptureSearch (Rect localVisibleRect, Point windowOffset, Consumer<ScrollCaptureTarget> targets)
Dispatch a scroll capture search request down the view hierarchy.
| Parameters | |
|---|---|
| localVisibleRect | Rect: the visible area of this ViewGroup in local coordinates, according to
                         the parent
 This value cannot benull. | 
| windowOffset | Point: the offset of this view within the window
 This value cannot benull. | 
| targets | Consumer: accepts potential scroll capture targets;results.acceptmay be called zero or more times on the calling
                         thread before onScrollCaptureSearch returns
 This value cannot benull. | 
dispatchStartTemporaryDetach
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
public void dispatchSystemUiVisibilityChanged (int visibility)
      This method was deprecated
      in API level 30.
    Use WindowInsets.isVisible(int) to find out about system bar visibilities
 by setting a OnApplyWindowInsetsListener on this view.
  
Dispatch callbacks to setOnSystemUiVisibilityChangeListener(OnSystemUiVisibilityChangeListener) down
 the view hierarchy.
| Parameters | |
|---|---|
| visibility | int | 
dispatchTouchEvent
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. | 
See also:
dispatchTrackballEvent
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. | 
See also:
dispatchUnhandledMove
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 isFOCUS_LEFT,FOCUS_UP,FOCUS_RIGHT, orFOCUS_DOWN | 
| Returns | |
|---|---|
| boolean | True if the this view consumed this unhandled move. | 
dispatchWindowFocusChanged
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. | 
dispatchWindowInsetsAnimationEnd
public void dispatchWindowInsetsAnimationEnd (WindowInsetsAnimation animation)
Dispatches WindowInsetsAnimation.Callback.onEnd(WindowInsetsAnimation)
 when Window Insets animation ends.
| Parameters | |
|---|---|
| animation | WindowInsetsAnimation: The current ongoingWindowInsetsAnimation.
 This value cannot benull. | 
dispatchWindowInsetsAnimationPrepare
public void dispatchWindowInsetsAnimationPrepare (WindowInsetsAnimation animation)
Dispatches WindowInsetsAnimation.Callback.onPrepare(WindowInsetsAnimation)
 when Window Insets animation is being prepared.
| Parameters | |
|---|---|
| animation | WindowInsetsAnimation: current animation
 This value cannot benull. | 
dispatchWindowInsetsAnimationProgress
public WindowInsets dispatchWindowInsetsAnimationProgress (WindowInsets insets, List<WindowInsetsAnimation> runningAnimations)
Dispatches WindowInsetsAnimation.Callback.onProgress(WindowInsets, List)
 when Window Insets animation makes progress.
| Parameters | |
|---|---|
| insets | WindowInsets: The currentWindowInsets.
 This value cannot benull. | 
| runningAnimations | List: The currently runningWindowInsetsAnimations.
 This value cannot benull. | 
| Returns | |
|---|---|
| WindowInsets | current WindowInsets.
 This value cannot benull. | 
dispatchWindowInsetsAnimationStart
public WindowInsetsAnimation.Bounds dispatchWindowInsetsAnimationStart (WindowInsetsAnimation animation, WindowInsetsAnimation.Bounds bounds)
Dispatches WindowInsetsAnimation.Callback.onStart(WindowInsetsAnimation, Bounds)
 when Window Insets animation is started.
| Parameters | |
|---|---|
| animation | WindowInsetsAnimation: current animation
 This value cannot benull. | 
| bounds | WindowInsetsAnimation.Bounds: the upper and lowerBoundsthat provides range ofWindowInsetsAnimation.
 This value cannot benull. | 
| Returns | |
|---|---|
| WindowInsetsAnimation.Bounds | the upper and lower Bounds.
 This value cannot benull. | 
dispatchWindowSystemUiVisiblityChanged
public void dispatchWindowSystemUiVisiblityChanged (int visible)
      This method was deprecated
      in API level 30.
    SystemUiVisibility flags are deprecated. Use WindowInsetsController
 instead.
  
Dispatch callbacks to onWindowSystemUiVisibilityChanged(int) down
 the view hierarchy.
| Parameters | |
|---|---|
| visible | int | 
dispatchWindowVisibilityChanged
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.
 Value isVISIBLE,INVISIBLE, orGONE | 
See also:
draw
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.
 This value cannot benull. | 
drawableHotspotChanged
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
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. | 
findOnBackInvokedDispatcher
public final OnBackInvokedDispatcher findOnBackInvokedDispatcher ()
Walk up the View hierarchy to find the nearest OnBackInvokedDispatcher.
| Returns | |
|---|---|
| OnBackInvokedDispatcher | The OnBackInvokedDispatcherfrom this or the nearest
 ancestor, or null if this view is both not attached and have no ancestor providing anOnBackInvokedDispatcher. | 
findViewById
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 nullotherwise | 
See also:
findViewWithTag
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
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 and
 FIND_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 either0or a combination ofFIND_VIEWS_WITH_TEXT, andFIND_VIEWS_WITH_CONTENT_DESCRIPTION | 
focusSearch
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 isFOCUS_LEFT,FOCUS_UP,FOCUS_RIGHT, orFOCUS_DOWN | 
| Returns | |
|---|---|
| View | The nearest focusable in the specified direction, or null if none can be found. | 
forceHasOverlappingRendering
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 byhasOverlappingRendering(). | 
forceLayout
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.
gatherTransparentRegion
public boolean gatherTransparentRegion (Region region)
This is used by the ViewRoot to perform an optimization when the view hierarchy contains one or several SurfaceView. SurfaceView is always considered transparent, but its children are not, therefore all View objects remove themselves from the global transparent region (passed as a parameter to this function).
| Parameters | |
|---|---|
| region | Region: The transparent region for this ViewAncestor (window).
 This value may benull. | 
| Returns | |
|---|---|
| boolean | Returns true if the effective visibility of the view at this point is opaque, regardless of the transparent region; returns false if it is possible for underlying windows to be seen behind the view. | 
generateDisplayHash
public void generateDisplayHash (String hashAlgorithm, Rect bounds, Executor executor, DisplayHashResultCallback callback)
Called to generate a DisplayHash for this view.
| Parameters | |
|---|---|
| hashAlgorithm | String: The hash algorithm to use when hashing the display. Must be one of
                      the values returned fromDisplayHashManager.getSupportedHashAlgorithms()This value cannot benull. | 
| bounds | Rect: The bounds for the content within the View to generate the hash for. If
               bounds are null, the entire View's bounds will be used. If empty, it will
               invoke the callbackDisplayHashResultCallback.onDisplayHashErrorwith errorDisplayHashResultCallback.DISPLAY_HASH_ERROR_INVALID_BOUNDS | 
| executor | Executor: The executor that the callback should be invoked on.
 This value cannot benull. | 
| callback | DisplayHashResultCallback: The callback to handle the results of generating the display hash
 This value cannot benull. | 
generateViewId
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
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 | |
getAccessibilityDelegate
public View.AccessibilityDelegate getAccessibilityDelegate ()
Returns the delegate for implementing accessibility support via
 composition. For more details see AccessibilityDelegate.
| Returns | |
|---|---|
| View.AccessibilityDelegate | The delegate, or null if none set. | 
getAccessibilityLiveRegion
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
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 AccessibilityDelegate has been specified via calling
 setAccessibilityDelegate(android.view.View.AccessibilityDelegate) its
 AccessibilityDelegate.getAccessibilityNodeProvider(View)
 is responsible for handling this call.
 
| Returns | |
|---|---|
| AccessibilityNodeProvider | The provider. | 
See also:
getAccessibilityPaneTitle
public CharSequence getAccessibilityPaneTitle ()
Get the title of the pane for purposes of accessibility.
Related XML Attributes:
| Returns | |
|---|---|
| CharSequence | The current pane title.
 .
 This value may be null. | 
getAccessibilityTraversalAfter
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
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:
getAllowedHandwritingDelegatePackageName
public String getAllowedHandwritingDelegatePackageName ()
Returns the allowed package for delegate editor views for which this view may act as a
 handwriting delegator, as set by setAllowedHandwritingDelegatePackage(String). If setAllowedHandwritingDelegatePackage(String) has not been called, or called with null
 argument, this will return null, meaning that this delegator view may only be used to
 initiate handwriting mode for a delegate editor view from the same package as this delegator
 view.
| Returns | |
|---|---|
| String | |
getAllowedHandwritingDelegatorPackageName
public String getAllowedHandwritingDelegatorPackageName ()
Returns the allowed package for views which may act as a handwriting delegator for this
 delegate editor view, as set by setAllowedHandwritingDelegatorPackage(String). If setAllowedHandwritingDelegatorPackage(String) has not been called, or called with null
 argument, this will return null, meaning that only views from the same package as
 this delegator editor view may act as a handwriting delegator.
| Returns | |
|---|---|
| String | |
getAlpha
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
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. | 
getAnimationMatrix
public Matrix getAnimationMatrix ()
Return the current transformation matrix of the view. This is used in animation frameworks,
 such as Transition. Returns null when there is no
 transformation provided by setAnimationMatrix(android.graphics.Matrix).
 Application developers should use transformation methods like setRotation(float),
 setScaleX(float), setScaleX(float), setTranslationX(float)}
 and setTranslationY(float) (float)}} instead.
| Returns | |
|---|---|
| Matrix | the Matrix, null indicates there is no transformation | 
See also:
getApplicationWindowToken
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. | 
getAttributeResolutionStack
public int[] getAttributeResolutionStack (int attribute)
Returns the ordered list of resource ID that are considered when resolving attribute values
 for this View. The list will include layout resource ID if the View is inflated from
 XML. It will also include a set of explicit styles if specified in XML using
 style="...". Finally, it will include the default styles resolved from the theme.
 
Note: this method will only return actual values if the view attribute debugging is enabled in Android developer options.
| Parameters | |
|---|---|
| attribute | int: Attribute resource ID for which the resolution stack should be returned. | 
| Returns | |
|---|---|
| int[] | ordered list of resource ID that are considered when resolving attribute values for
 this View.
 This value cannot benull. | 
getAttributeSourceResourceMap
public Map<Integer, Integer> getAttributeSourceResourceMap ()
Returns the mapping of attribute resource ID to source resource ID where the attribute value
 was set. Source resource ID can either be a layout resource ID, if the value was set in XML
 within the View tag, or a style resource ID, if the attribute was set in a style. The source
 resource value will be one of the resource IDs from getAttributeSourceResourceMap().
 
Note: this method will only return actual values if the view attribute debugging is enabled in Android developer options.
| Returns | |
|---|---|
| Map<Integer, Integer> | mapping of attribute resource ID to source resource ID where the attribute value
 was set.
 This value cannot be null. | 
getAutofillHints
public String[] getAutofillHints ()
Gets the hints that help an AutofillService determine how
 to autofill the view with the user's data.
 
See setAutofillHints(java.lang.String) for more info about these hints.
Related XML Attributes:
| Returns | |
|---|---|
| String[] | The hints set via the attribute or setAutofillHints(java.lang.String), ornullif no hints were set. | 
getAutofillId
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(android.view.autofill.AutofillId).
 
See setAutofillId(android.view.autofill.AutofillId) for more info.
| Returns | |
|---|---|
| AutofillId | The View's autofill id. | 
getAutofillType
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_NONE,AUTOFILL_TYPE_TEXT,AUTOFILL_TYPE_LIST,AUTOFILL_TYPE_DATE, orAUTOFILL_TYPE_TOGGLE.
 Value isAUTOFILL_TYPE_NONE,AUTOFILL_TYPE_TEXT,AUTOFILL_TYPE_TOGGLE,AUTOFILL_TYPE_LIST, orAUTOFILL_TYPE_DATE | 
getAutofillValue
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 | |
getBackground
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:
getBackgroundTintBlendMode
public BlendMode getBackgroundTintBlendMode ()
Return the blending mode used to apply the tint to the background drawable, if specified.
Related XML Attributes:
| Returns | |
|---|---|
| BlendMode | the blending mode used to apply the tint to the background drawable, null if no blend has previously been configured | 
See also:
getBackgroundTintList
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
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
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
public final int getBottom ()
Bottom position of this view relative to its parent.
| Returns | |
|---|---|
| int | The bottom of this view, in pixels. | 
getCameraDistance
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
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 | trueif successful orfalseif the view's
         clip bounds arenull | 
getClipBounds
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
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 | |
getContentCaptureSession
public final ContentCaptureSession getContentCaptureSession ()
Gets the session used to notify content capture events.
| Returns | |
|---|---|
| ContentCaptureSession | session explicitly set by setContentCaptureSession(android.view.contentcapture.ContentCaptureSession),
 inherited by ancestors, default session ornullif content capture is disabled for
 this view. | 
getContentDescription
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(java.lang.CharSequence) to modify the
 content description.
Related XML Attributes:
| Returns | |
|---|---|
| CharSequence | the content description | 
See also:
getContentSensitivity
public final int getContentSensitivity ()
Gets content sensitivity mode to determine whether this view displays sensitive content.
See setContentSensitivity(int) and
 isContentSensitive() for more info about this mode.
| Returns | |
|---|---|
| int | CONTENT_SENSITIVITY_AUTOby default, or value passed tosetContentSensitivity(int).
 Value isCONTENT_SENSITIVITY_AUTO,CONTENT_SENSITIVITY_SENSITIVE, orCONTENT_SENSITIVITY_NOT_SENSITIVE | 
getContext
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
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
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
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
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 | 
getDrawingCache
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, android.graphics.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(android.graphics.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
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, android.graphics.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(android.graphics.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. | 
getDrawingCacheBackgroundColor
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, android.graphics.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(android.graphics.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
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, android.graphics.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(android.graphics.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_AUTO,DRAWING_CACHE_QUALITY_LOW, orDRAWING_CACHE_QUALITY_HIGHValue isDRAWING_CACHE_QUALITY_LOW,DRAWING_CACHE_QUALITY_HIGH, orDRAWING_CACHE_QUALITY_AUTO | 
getDrawingRect
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
public long getDrawingTime ()
Return the time at which the drawing of the view hierarchy started.
| Returns | |
|---|---|
| long | the drawing start time in milliseconds | 
getElevation
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. | 
getExplicitStyle
public int getExplicitStyle ()
Returns the resource ID for the style specified using style="..." in the
 AttributeSet's backing XML element or Resources.ID_NULL otherwise if not
 specified or otherwise not applicable.
 
 Each View can have an explicit style specified in the layout file.
 This style is used first during the View attribute resolution, then if an attribute
 is not defined there the resource system looks at default style and theme as fallbacks.
 
Note: this method will only return actual values if the view attribute debugging is enabled in Android developer options.
| Returns | |
|---|---|
| int | The resource ID for the style specified using style="..."in theAttributeSet's backing XML element orResources.ID_NULLotherwise
      if not specified or otherwise not applicable. | 
getFilterTouchesWhenObscured
public boolean getFilterTouchesWhenObscured ()
Gets whether the framework should discard touches when the view's
 window is obscured by another visible window at the touched location.
 Refer to the View security documentation for more details.
Related XML Attributes:
| Returns | |
|---|---|
| boolean | True if touch filtering is enabled. | 
See also:
getFitsSystemWindows
public boolean getFitsSystemWindows ()
Check for state of setFitsSystemWindows(boolean). If this method
 returns true, the default implementation of fitSystemWindows(android.graphics.Rect)
 will be executed.
Related XML Attributes:
| Returns | |
|---|---|
| boolean | trueif the default implementation offitSystemWindows(android.graphics.Rect)will be executed. | 
getFocusable
public int getFocusable ()
Returns the focusable setting for this view.
Related XML Attributes:
| Returns | |
|---|---|
| int | One of NOT_FOCUSABLE,FOCUSABLE, orFOCUSABLE_AUTO.
 Value isNOT_FOCUSABLE,FOCUSABLE, orFOCUSABLE_AUTO | 
getFocusables
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 isFOCUS_BACKWARD,FOCUS_FORWARD,FOCUS_LEFT,FOCUS_UP,FOCUS_RIGHT, orFOCUS_DOWN | 
| Returns | |
|---|---|
| ArrayList<View> | A list of focusable views | 
getFocusedRect
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
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
public int getForegroundGravity ()
Describes how the foreground is positioned.
Related XML Attributes:
| Returns | |
|---|---|
| int | foreground gravity. | 
See also:
getForegroundTintBlendMode
public BlendMode getForegroundTintBlendMode ()
Return the blending mode used to apply the tint to the foreground drawable, if specified.
Related XML Attributes:
| Returns | |
|---|---|
| BlendMode | the blending mode used to apply the tint to the foreground
         drawable
 This value may be null. | 
See also:
getForegroundTintList
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
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:
getFrameContentVelocity
public float getFrameContentVelocity ()
Get the current velocity of the View. The value should always be greater than or equal to 0. Note that this is only valid till the next drawn frame.
| Returns | |
|---|---|
| float | 0 by default, or value passed to setFrameContentVelocity(float). | 
getGlobalVisibleRect
public final boolean getGlobalVisibleRect (Rect r)
Sets r to the coordinates of the non-clipped area of this view in
 the coordinate space of the view's root view.
 
See getGlobalVisibleRect(Rect, Point) for more information.
| Parameters | |
|---|---|
| r | Rect: If the method returns true, contains the coordinates of the
      visible portion of this view in the coordinate space of the view's
      root view. If the method returns false, the contents ofrare undefined. | 
| Returns | |
|---|---|
| boolean | true if at least part of the view is visible within the root view; otherwise false. | 
getGlobalVisibleRect
public boolean getGlobalVisibleRect (Rect r, Point globalOffset)
Sets r to the coordinates of the non-clipped area of this view in
 the coordinate space of the view's root view. Sets globalOffset
 to the offset of the view's x and y coordinates from the coordinate space
 origin, which is the top left corner of the root view irrespective of
 screen decorations and system UI elements.
 
To convert r to coordinates relative to the top left corner of
 this view (without taking view rotations into account), offset r
 by the inverse values of
 globalOffset—r.offset(-globalOffset.x,
 -globalOffset.y)—which is equivalent to calling
 getLocalVisibleRect(Rect).
 
Note: Do not use this method to determine the size of a window
 in multi-window mode; use
 WindowManager.getCurrentWindowMetrics().
| Parameters | |
|---|---|
| r | Rect: If the method returns true, contains the coordinates of the
      visible portion of this view in the coordinate space of the view's
      root view. If the method returns false, the contents ofrare undefined. | 
| globalOffset | Point: If the method returns true, contains the offset of
      the x and y coordinates of this view from the top left corner of the
      view's root view. If the method returns false, the contents ofglobalOffsetare undefined. The argument can be null (seegetGlobalVisibleRect(Rect). | 
| Returns | |
|---|---|
| boolean | true if at least part of the view is visible within the root view; false if the view is completely clipped or translated out of the visible area of the root view. | 
See also:
getHandler
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. | 
getHandwritingBoundsOffsetBottom
public float getHandwritingBoundsOffsetBottom ()
Return the amount of offset applied to the bottom edge of this view's handwriting bounds, in the unit of pixel.
| Returns | |
|---|---|
| float | |
getHandwritingBoundsOffsetLeft
public float getHandwritingBoundsOffsetLeft ()
Return the amount of offset applied to the left edge of this view's handwriting bounds, in the unit of pixel.
| Returns | |
|---|---|
| float | |
getHandwritingBoundsOffsetRight
public float getHandwritingBoundsOffsetRight ()
Return the amount of offset applied to the right edge of this view's handwriting bounds, in the unit of pixel.
| Returns | |
|---|---|
| float | |
getHandwritingBoundsOffsetTop
public float getHandwritingBoundsOffsetTop ()
Return the amount of offset applied to the top edge of this view's handwriting bounds, in the unit of pixel.
| Returns | |
|---|---|
| float | |
getHandwritingDelegateFlags
public int getHandwritingDelegateFlags ()
Returns flags configuring the handwriting delegation behavior for this delegate editor view,
 as set by setHandwritingDelegateFlags(int).
| Returns | |
|---|---|
| int | Value is either 0orInputMethodManager.HANDWRITING_DELEGATE_FLAG_HOME_DELEGATOR_ALLOWED | 
getHandwritingDelegatorCallback
public Runnable getHandwritingDelegatorCallback ()
Returns the callback set by setHandwritingDelegatorCallback(Runnable) which should be called
 when a stylus MotionEvent occurs within this view's bounds. The callback should only
 be called from the UI thread.
| Returns | |
|---|---|
| Runnable | This value may be null. | 
getHasOverlappingRendering
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
public final int getHeight ()
Return the height of your view.
| Returns | |
|---|---|
| int | The height of your view, in pixels. | 
getHitRect
public void getHitRect (Rect outRect)
Hit rectangle in parent's coordinates
| Parameters | |
|---|---|
| outRect | Rect: The hit rectangle of the view. | 
getHorizontalFadingEdgeLength
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. | 
getHorizontalScrollbarThumbDrawable
public Drawable getHorizontalScrollbarThumbDrawable ()
Returns the currently configured Drawable for the thumb of the horizontal scroll bar if it exists, null otherwise.
| Returns | |
|---|---|
| Drawable | |
getHorizontalScrollbarTrackDrawable
public Drawable getHorizontalScrollbarTrackDrawable ()
Returns the currently configured Drawable for the track of the horizontal scroll bar if it exists, null otherwise.
| Returns | |
|---|---|
| Drawable | |
getId
public int getId ()
Returns this view's identifier.
Related XML Attributes:
| Returns | |
|---|---|
| int | a positive integer used to identify the view or NO_IDif the view has no ID | 
See also:
getImportantForAccessibility
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_AUTO,IMPORTANT_FOR_ACCESSIBILITY_YES,IMPORTANT_FOR_ACCESSIBILITY_NO, orIMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS. | 
getImportantForAutofill
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_AUTOby default, or value passed tosetImportantForAutofill(int).
 Value isIMPORTANT_FOR_AUTOFILL_AUTO,IMPORTANT_FOR_AUTOFILL_YES,IMPORTANT_FOR_AUTOFILL_NO,IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS, orIMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS | 
getImportantForContentCapture
public int getImportantForContentCapture ()
Gets the mode for determining whether this view is important for content capture.
See setImportantForContentCapture(int) and
 isImportantForContentCapture() for more info about this mode.
Related XML Attributes:
getKeepScreenOn
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_ONis set. | 
See also:
getKeyDispatcherState
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 like
 onKeyDown(int, android.view.KeyEvent).
| Returns | |
|---|---|
| KeyEvent.DispatcherState | |
getLabelFor
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
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_NONE,LAYER_TYPE_SOFTWAREorLAYER_TYPE_HARDWAREValue isLAYER_TYPE_NONE,LAYER_TYPE_SOFTWARE, orLAYER_TYPE_HARDWARE | 
getLayoutDirection
public int getLayoutDirection ()
Returns the resolved layout direction for this view.
Related XML Attributes:
| Returns | |
|---|---|
| int | LAYOUT_DIRECTION_RTLif the layout direction is RTL or returnsLAYOUT_DIRECTION_LTRif the layout direction is not RTL.
 For compatibility, this will returnLAYOUT_DIRECTION_LTRif API version
 is lower thanBuild.VERSION_CODES.JELLY_BEAN_MR1.
 Value isLAYOUT_DIRECTION_LTR, orLAYOUT_DIRECTION_RTL | 
getLayoutParams
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
public final int getLeft ()
Left position of this view relative to its parent.
| Returns | |
|---|---|
| int | The left edge of this view, in pixels. | 
getLocalVisibleRect
public final boolean getLocalVisibleRect (Rect r)
Sets r to the coordinates of the non-clipped area of this view
 relative to the top left corner of the view.
 
If the view is clipped on the left or top, the left and top coordinates are offset from 0 by the clipped amount. For example, if the view is off screen 50px on the left and 30px at the top, the left and top coordinates are 50 and 30 respectively.
If the view is clipped on the right or bottom, the right and bottom coordinates are reduced by the clipped amount. For example, if the view is off screen 40px on the right and 20px at the bottom, the right coordinate is the view width - 40, and the bottom coordinate is the view height - 20.
| Parameters | |
|---|---|
| r | Rect: If the method returns true, contains the coordinates of the
      visible portion of this view relative to the top left corner of the
      view. If the method returns false, the contents ofrare
      undefined. | 
| Returns | |
|---|---|
| boolean | true if at least part of the view is visible; false if the view is completely clipped or translated out of the visible area. | 
See also:
getLocationInSurface
public void getLocationInSurface (int[] location)
Gets the coordinates of this view in the coordinate space of the
 Surface that contains the view.
 
In multiple-screen scenarios, if the surface spans multiple screens, the coordinate space of the surface also spans multiple screens.
After the method returns, the argument array contains the x and y coordinates of the view relative to the view's left and top edges, respectively.
| Parameters | |
|---|---|
| location | int: A two-element integer array in which the view coordinates
      are stored. The x-coordinate is at index 0; the y-coordinate, at
      index 1.
 This value cannot benull. | 
getLocationInWindow
public void getLocationInWindow (int[] outLocation)
Gets the coordinates of this view in the coordinate space of the window that contains the view, irrespective of system decorations.
In multi-window mode, the origin of the coordinate space is the top left corner of the window that contains the view. In full screen mode, the origin is the top left corner of the device screen.
In multiple-screen scenarios, if the app spans multiple screens, the coordinate space also spans multiple screens. But if the app is restricted to a single screen, the coordinate space includes only the screen on which the app is running.
After the method returns, the argument array contains the x and y coordinates of the view relative to the view's left and top edges, respectively.
| Parameters | |
|---|---|
| outLocation | int: A two-element integer array in which the view
      coordinates are stored. The x-coordinate is at index 0; the
      y-coordinate, at index 1. | 
getLocationOnScreen
public void getLocationOnScreen (int[] outLocation)
Gets the coordinates of this view in the coordinate space of the device screen, irrespective of system decorations and whether the system is in multi-window mode.
In multi-window mode, the coordinate space encompasses the entire device screen, ignoring the bounds of the app window. For example, if the view is in the bottom portion of a horizontal split screen, the top edge of the screen—not the top edge of the window—is the origin from which the y-coordinate is calculated.
In multiple-screen scenarios, the coordinate space can span screens. For example, if the app is spanning both screens of a dual-screen device and the view is located on the right-hand screen, the x-coordinate is calculated from the left edge of the left-hand screen to the left edge of the view. When the app is restricted to a single screen in a multiple-screen environment, the coordinate space includes only the screen on which the app is running.
After the method returns, the argument array contains the x and y coordinates of the view relative to the view's left and top edges, respectively.
| Parameters | |
|---|---|
| outLocation | int: A two-element integer array in which the view
      coordinates are stored. The x-coordinate is at index 0; the
      y-coordinate, at index 1. | 
getMatrix
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 | 
getMeasuredHeight
public final int getMeasuredHeight ()
Like getMeasuredHeightAndState(), but only returns the
 raw height component (that is the result is masked by
 MEASURED_SIZE_MASK).
| Returns | |
|---|---|
| int | The raw measured height of this view. | 
getMeasuredHeightAndState
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 high a view is after layout.
| Returns | |
|---|---|
| int | The measured height of this view as a bit mask. | 
getMeasuredState
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
public final int getMeasuredWidth ()
Like getMeasuredWidthAndState(), but only returns the
 raw width component (that is the result is masked by
 MEASURED_SIZE_MASK).
| Returns | |
|---|---|
| int | The raw measured width of this view. | 
getMeasuredWidthAndState
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
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
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
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_IDif the framework should
 decide automatically. | 
getNextFocusDownId
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_IDif the framework should decide automatically. | 
getNextFocusForwardId
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_IDif the framework should decide automatically. | 
getNextFocusLeftId
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_IDif the framework should decide automatically. | 
getNextFocusRightId
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_IDif the framework should decide automatically. | 
getNextFocusUpId
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_IDif the framework should decide automatically. | 
getOnFocusChangeListener
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
public int getOutlineAmbientShadowColor ()
| Returns | |
|---|---|
| int | The shadow color set by setOutlineAmbientShadowColor(int), or black if
 nothing was set | 
getOutlineProvider
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
public int getOutlineSpotShadowColor ()
| Returns | |
|---|---|
| int | The shadow color set by setOutlineSpotShadowColor(int), or black if nothing
 was set | 
getOverScrollMode
public int getOverScrollMode ()
Returns the over-scroll mode for this view. The result will be
 one of OVER_SCROLL_ALWAYS, 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
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
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
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
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
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
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
public int getPaddingTop ()
Returns the top padding of this view.
| Returns | |
|---|---|
| int | the top padding in pixels | 
getParent
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
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. | 
getPendingCredentialCallback
public final OutcomeReceiver<GetCredentialResponse, GetCredentialException> getPendingCredentialCallback ()
Returns the callback that has previously been set up on this view through
 the setPendingCredentialRequest(GetCredentialRequest, OutcomeReceiver) API.
 If the return value is null, that means no callback, or request, has been set
 on the view and no CredentialManager flow will be invoked
 when this view is focused. Traditioanl autofill flows will still
 work, and autofillable content will still be returned through the
 autofill(android.view.autofill.AutofillValue) )} API.
 
See setPendingCredentialRequest(GetCredentialRequest, OutcomeReceiver) for more info.
| Returns | |
|---|---|
| OutcomeReceiver<GetCredentialResponse, GetCredentialException> | The callback associated with this view that will be invoked on a response from CredentialManager. | 
getPendingCredentialRequest
public final GetCredentialRequest getPendingCredentialRequest ()
Returns the GetCredentialRequest associated with the view.
 If the return value is null, that means no request has been set
 on the view and no CredentialManager flow will be invoked
 when this view is focused. Traditioanl autofill flows will still
 work, autofilling content if applicable, from
 the active AutofillService on
 the device.
 
See setPendingCredentialRequest(GetCredentialRequest, OutcomeReceiver) for more info.
| Returns | |
|---|---|
| GetCredentialRequest | The credential request associated with this View. | 
getPivotX
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. | 
getPivotY
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. | 
getPointerIcon
public PointerIcon getPointerIcon ()
Gets the mouse pointer icon for the current view.
| Returns | |
|---|---|
| PointerIcon | |
See also:
getPreferKeepClearRects
public final List<Rect> getPreferKeepClearRects ()
| Returns | |
|---|---|
| List<Rect> | the list of rects, set by setPreferKeepClearRects(List).
 This value cannot benull. | 
See also:
getReceiveContentMimeTypes
public String[] getReceiveContentMimeTypes ()
Returns the MIME types accepted by performReceiveContent(ContentInfo) for this view, as
 configured via setOnReceiveContentListener(String, OnReceiveContentListener). By default returns null.
 
Different features (e.g. pasting from the clipboard, inserting stickers from the soft keyboard, etc) may optionally use this metadata to conditionally alter their behavior. For example, a soft keyboard may choose to hide its UI for inserting GIFs for a particular input field if the MIME types returned here for that field don't include "image/gif" or "image/*".
Note: Comparisons of MIME types should be performed using utilities such as
 ClipDescription.compareMimeTypes rather than simple string equality, in order to
 correctly handle patterns such as "text/*", "image/*", etc. Note that MIME type matching
 in the Android framework is case-sensitive, unlike formal RFC MIME types. As a result,
 you should always write your MIME types with lowercase letters, or use
 Intent.normalizeMimeType(String) to ensure that it is converted to
 lowercase.
| Returns | |
|---|---|
| String[] | The MIME types accepted by performReceiveContent(ContentInfo)for this view (may
 include patterns such as "image/*"). | 
getRequestedFrameRate
public float getRequestedFrameRate ()
Get the current preferred frame rate of the View. The value could be negative when preferred frame rate category is set instead of perferred frame rate. The frame rate category includes REQUESTED_FRAME_RATE_CATEGORY_NO_PREFERENCE, REQUESTED_FRAME_RATE_CATEGORY_LOW, REQUESTED_FRAME_RATE_CATEGORY_NORMAL, and REQUESTED_FRAME_RATE_CATEGORY_HIGH. Note that the frame rate value is valid as long as the View is invalidated. Please also be aware that the requested frame rate will not propagate to child views when this API is used on a ViewGroup.
| Returns | |
|---|---|
| float | REQUESTED_FRAME_RATE_CATEGORY_DEFAULT by default,
 or value passed to setRequestedFrameRate(float). | 
getResources
public Resources getResources ()
Returns the resources associated with this view.
| Returns | |
|---|---|
| Resources | Resources object. | 
getRevealOnFocusHint
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
public final int getRight ()
Right position of this view relative to its parent.
| Returns | |
|---|---|
| int | The right edge of this view, in pixels. | 
getRootSurfaceControl
public AttachedSurfaceControl getRootSurfaceControl ()
The AttachedSurfaceControl itself is not a View, it is just the interface to the
 windowing-system object that contains the entire view hierarchy.
 For the root View of a given hierarchy see getRootView().
| Returns | |
|---|---|
| AttachedSurfaceControl | The AttachedSurfaceControlinterface for this View.
 This will only return a non-null value when called betweenonAttachedToWindow()andonDetachedFromWindow(). | 
getRootView
public View getRootView ()
Finds the topmost view in the current view hierarchy.
| Returns | |
|---|---|
| View | the topmost view containing this view | 
getRootWindowInsets
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
public float getRotation ()
The degrees that the view is rotated around the pivot point.
| Returns | |
|---|---|
| float | The degrees of rotation. | 
See also:
getRotationX
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. | 
getRotationY
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. | 
getScaleX
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
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
public int getScrollBarDefaultDelayBeforeFade ()
Returns the delay before scrollbars fade.
Related XML Attributes:
| Returns | |
|---|---|
| int | the delay before scrollbars fade | 
getScrollBarFadeDuration
public int getScrollBarFadeDuration ()
Returns the scrollbar fade duration.
Related XML Attributes:
| Returns | |
|---|---|
| int | the scrollbar fade duration, in milliseconds | 
getScrollBarSize
public int getScrollBarSize ()
Returns the scrollbar size.
Related XML Attributes:
| Returns | |
|---|---|
| int | the scrollbar size | 
getScrollBarStyle
public int getScrollBarStyle ()
Returns the current scrollbar style.
Related XML Attributes:
| Returns | |
|---|---|
| int | the current scrollbar style
 Value is SCROLLBARS_INSIDE_OVERLAY,SCROLLBARS_INSIDE_INSET,SCROLLBARS_OUTSIDE_OVERLAY, orSCROLLBARS_OUTSIDE_INSET | 
getScrollCaptureHint
public int getScrollCaptureHint ()
Returns the current scroll capture hint for this view.
| Returns | |
|---|---|
| int | the current scroll capture hint
 Value is either 0or a combination ofSCROLL_CAPTURE_HINT_AUTO,SCROLL_CAPTURE_HINT_EXCLUDE,SCROLL_CAPTURE_HINT_INCLUDE, andSCROLL_CAPTURE_HINT_EXCLUDE_DESCENDANTS | 
getScrollIndicators
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 be
 View.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 0or a combination ofSCROLL_INDICATOR_TOP,SCROLL_INDICATOR_BOTTOM,SCROLL_INDICATOR_LEFT,SCROLL_INDICATOR_RIGHT,SCROLL_INDICATOR_START, andSCROLL_INDICATOR_END | 
getScrollX
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
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
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 | 
getSourceLayoutResId
public int getSourceLayoutResId ()
A View can be inflated from an XML layout. For such Views this method returns the
 resource ID of the source layout.
| Returns | |
|---|---|
| int | The layout resource id if this view was inflated from XML, otherwise Resources.ID_NULL. | 
getStateDescription
public final CharSequence getStateDescription ()
Returns the View's state description.
 
 Note: Do not override this method, as it will have no
 effect on the state description presented to accessibility services.
 You must call setStateDescription(java.lang.CharSequence) to modify the
 state description.
| Returns | |
|---|---|
| CharSequence | the state description
 This value may be null. | 
See also:
getStateListAnimator
public StateListAnimator getStateListAnimator ()
Returns the current StateListAnimator if exists.
| Returns | |
|---|---|
| StateListAnimator | StateListAnimator or null if it does not exists | 
getSupplementalDescription
public CharSequence getSupplementalDescription ()
Returns the View's supplemental description.
 
 A supplemental description provides
 brief supplemental information for this node, such as the purpose of the node when
 that purpose is not conveyed within its textual representation. For example, if a
 dropdown select has a purpose of setting font family, the supplemental description
 could be "font family". If this node has children, its supplemental description serves
 as additional information and is not intended to replace any existing information
 in the subtree. This is different from the getContentDescription() in that
 this description is purely supplemental while a content description may be used
 to replace a description for a node or its subtree that an assistive technology
 would otherwise compute based on other properties of the node and its descendants.
 
 Note: Do not override this method, as it will have no
 effect on the supplemental description presented to accessibility services.
 You must call setSupplementalDescription(java.lang.CharSequence) to modify the
 supplemental description.
Related XML Attributes:
| Returns | |
|---|---|
| CharSequence | the supplemental description
 This value may be null. | 
getSystemGestureExclusionRects
public List<Rect> getSystemGestureExclusionRects ()
Retrieve the list of areas within this view's post-layout coordinate space where the system should not intercept touch or other pointing device gestures.
Do not modify the returned list.
| Returns | |
|---|---|
| List<Rect> | the list set by setSystemGestureExclusionRects(java.util.List)This value cannot benull. | 
getSystemUiVisibility
public int getSystemUiVisibility ()
      This method was deprecated
      in API level 30.
    SystemUiVisibility flags are deprecated. Use WindowInsetsController
 instead.
  
Returns the last setSystemUiVisibility(int) that this view has requested.
getTag
public Object getTag ()
Returns this view's tag.
| Returns | |
|---|---|
| Object | the Object stored in this view as a tag, or nullif not
         set | 
See also:
getTag
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 nullif not
         set | 
See also:
getTextAlignment
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_CENTER,TEXT_ALIGNMENT_TEXT_START,TEXT_ALIGNMENT_TEXT_END,TEXT_ALIGNMENT_VIEW_START,TEXT_ALIGNMENT_VIEW_ENDValue isTEXT_ALIGNMENT_INHERIT,TEXT_ALIGNMENT_GRAVITY,TEXT_ALIGNMENT_CENTER,TEXT_ALIGNMENT_TEXT_START,TEXT_ALIGNMENT_TEXT_END,TEXT_ALIGNMENT_VIEW_START, orTEXT_ALIGNMENT_VIEW_END | 
getTextDirection
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_RTL,TEXT_DIRECTION_LTR,TEXT_DIRECTION_RTL,TEXT_DIRECTION_LOCALE,TEXT_DIRECTION_FIRST_STRONG_LTR,TEXT_DIRECTION_FIRST_STRONG_RTL | 
getTooltipText
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(java.lang.CharSequence) to modify the tooltip text.
Related XML Attributes:
| Returns | |
|---|---|
| CharSequence | the tooltip text
 This value may be null. | 
See also:
getTop
public final int getTop ()
Top position of this view relative to its parent.
| Returns | |
|---|---|
| int | The top of this view, in pixels. | 
getTouchDelegate
public TouchDelegate getTouchDelegate ()
Gets the TouchDelegate for this View.
| Returns | |
|---|---|
| TouchDelegate | |
getTouchables
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 | 
getTransitionAlpha
public float getTransitionAlpha ()
This property is intended only for use by the Fade transition, which animates it to produce a visual translucency that does not side-effect (or get affected by) the real alpha property. This value is composited with the other alpha value (and the AlphaAnimation value, when that is present) to produce a final visual translucency result, which is what is passed into the DisplayList.
| Returns | |
|---|---|
| float | |
getTransitionName
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
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
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
public float getTranslationZ ()
The depth location of this view relative to its elevation.
| Returns | |
|---|---|
| float | The depth of this view relative to its elevation. | 
getUniqueDrawingId
public long getUniqueDrawingId ()
Get the identifier used for this view by the drawing system.
| Returns | |
|---|---|
| long | A long that uniquely identifies this view's drawing component | 
See also:
getVerticalFadingEdgeLength
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
public int getVerticalScrollbarPosition ()
| Returns | |
|---|---|
| int | The position where the vertical scroll bar will show, if applicable. | 
See also:
getVerticalScrollbarThumbDrawable
public Drawable getVerticalScrollbarThumbDrawable ()
Returns the currently configured Drawable for the thumb of the vertical scroll bar if it exists, null otherwise.
| Returns | |
|---|---|
| Drawable | |
getVerticalScrollbarTrackDrawable
public Drawable getVerticalScrollbarTrackDrawable ()
Returns the currently configured Drawable for the track of the vertical scroll bar if it exists, null otherwise.
| Returns | |
|---|---|
| Drawable | |
getVerticalScrollbarWidth
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. | 
getViewTranslationResponse
public ViewTranslationResponse getViewTranslationResponse ()
Returns the ViewTranslationResponse associated with this view. The response will be
 set when the translation is done then onViewTranslationResponse(ViewTranslationResponse) is called. The
 ViewTranslationCallback can use to get ViewTranslationResponse to display the
 translated information.
| Returns | |
|---|---|
| ViewTranslationResponse | a ViewTranslationResponsethat contains the translated information associated
 with this view ornullif this View doesn't have the translation. | 
getViewTreeObserver
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
public int getVisibility ()
Returns the visibility status for this view.
Related XML Attributes:
| Returns | |
|---|---|
| int | One of VISIBLE,INVISIBLE, orGONE.
 Value isVISIBLE,INVISIBLE, orGONE | 
getWidth
public final int getWidth ()
Return the width of your view.
| Returns | |
|---|---|
| int | The width of your view, in pixels. | 
getWindowId
public WindowId getWindowId ()
Retrieve the WindowId for the window this view is
 currently attached to.
| Returns | |
|---|---|
| WindowId | |
getWindowInsetsController
public WindowInsetsController getWindowInsetsController ()
Retrieves the single WindowInsetsController of the window this view is attached to.
| Returns | |
|---|---|
| WindowInsetsController | The WindowInsetsControllerornullif the view is neither attached to
         a window nor a view tree with a decor. | 
See also:
getWindowSystemUiVisibility
public int getWindowSystemUiVisibility ()
      This method was deprecated
      in API level 30.
    SystemUiVisibility flags are deprecated. Use WindowInsetsController
 instead.
  
Returns the current system UI visibility that is currently set for
 the entire window.  This is the combination of the
 setSystemUiVisibility(int) values supplied by all of the
 views in the window.
| Returns | |
|---|---|
| int | |
getWindowToken
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.
 This token maybe null if this view is not attached to a window. | 
getWindowVisibility
public int getWindowVisibility ()
Returns the current visibility of the window this view is attached to
 (either GONE, INVISIBLE, or VISIBLE).
| Returns | |
|---|---|
| int | Returns the current visibility of the view's window.
 Value is VISIBLE,INVISIBLE, orGONE | 
getWindowVisibleDisplayFrame
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.
| 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
public float getX ()
The visual x position of this view, in pixels. This is equivalent to the
 translationX property plus the current
 left property.
| Returns | |
|---|---|
| float | The visual x position of this view, in pixels. | 
getY
public float getY ()
The visual y position of this view, in pixels. This is equivalent to the
 translationY property plus the current
 top property.
| Returns | |
|---|---|
| float | The visual y position of this view, in pixels. | 
getZ
public float getZ ()
The visual z position of this view, in pixels. This is equivalent to the
 translationZ property plus the current
 elevation property.
| Returns | |
|---|---|
| float | The visual z position of this view, in pixels. | 
hasExplicitFocusable
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 VISIBLE views 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 | trueif the view is focusable or if the view contains a focusable
         view,falseotherwise | 
See also:
hasFocus
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
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 | trueif the view is focusable or if the view contains a focusable
         view,falseotherwise | 
hasNestedScrollingParent
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
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 | |
hasOnLongClickListeners
public boolean hasOnLongClickListeners ()
Return whether this view has an attached OnLongClickListener. Returns true if there is a listener, false if there is none.
| Returns | |
|---|---|
| boolean | |
hasOverlappingRendering
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
public boolean hasPointerCapture ()
Checks pointer capture status.
| Returns | |
|---|---|
| boolean | true if the view has pointer capture. | 
hasTransientState
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
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
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
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
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
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
public void invalidateDrawable (Drawable drawable)
Invalidates the specified Drawable.
| Parameters | |
|---|---|
| drawable | Drawable: the drawable to invalidate
 This value cannot benull. | 
invalidateOutline
public void invalidateOutline ()
Called to rebuild this View's Outline from its outline provider
See also:
isAccessibilityDataSensitive
public boolean isAccessibilityDataSensitive ()
Whether this view should restrict accessibility service access only to services that have the
 AccessibilityServiceInfo.isAccessibilityTool() property
 set to true.
 
 See default behavior provided by ACCESSIBILITY_DATA_SENSITIVE_AUTO. Otherwise,
 returns true for ACCESSIBILITY_DATA_SENSITIVE_YES or false for ACCESSIBILITY_DATA_SENSITIVE_NO.
 
| Returns | |
|---|---|
| boolean | True if this view should restrict accessibility service access to services that have the isAccessibilityTool property. | 
isAccessibilityFocused
public boolean isAccessibilityFocused ()
Returns whether this View is accessibility focused.
| Returns | |
|---|---|
| boolean | True if this View is accessibility focused. | 
isAccessibilityHeading
public boolean isAccessibilityHeading ()
Gets whether this view is a heading for accessibility purposes.
Related XML Attributes:
| Returns | |
|---|---|
| boolean | trueif the view is a heading,falseotherwise. | 
isActivated
public boolean isActivated ()
Indicates the activation state of this view.
| Returns | |
|---|---|
| boolean | true if the view is activated, false otherwise | 
isAttachedToWindow
public boolean isAttachedToWindow ()
Returns true if this view is currently attached to a window.
| Returns | |
|---|---|
| boolean | |
isAutoHandwritingEnabled
public boolean isAutoHandwritingEnabled ()
Return whether the View allows automatic handwriting initiation. Returns true if automatic handwriting initiation is enabled, and vice versa.
| Returns | |
|---|---|
| boolean | |
See also:
isClickable
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:
isContentSensitive
public final boolean isContentSensitive ()
Returns whether this view displays sensitive content, based
 on the value explicitly set by setContentSensitivity(int).
| Returns | |
|---|---|
| boolean | whether the view displays sensitive content. | 
isContextClickable
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:
isCredential
public boolean isCredential ()
Gets the mode for determining whether this view is a credential.
Related XML Attributes:
| Returns | |
|---|---|
| boolean | false by default, or value passed to setIsCredential(boolean). | 
isDirty
public boolean isDirty ()
True if this view has changed since the last time being drawn.
| Returns | |
|---|---|
| boolean | The dirty state of this view. | 
isDrawingCacheEnabled
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, android.graphics.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(android.graphics.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 | 
isDuplicateParentStateEnabled
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 | 
isEnabled
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
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
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
public boolean isFocused ()
Returns true if this view has focus
| Returns | |
|---|---|
| boolean | True if this view has focus, false otherwise. | 
isFocusedByDefault
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 | trueif this view is the default-focus view,falseotherwise | 
See also:
isForceDarkAllowed
public boolean isForceDarkAllowed ()
See setForceDarkAllowed(boolean)
| Returns | |
|---|---|
| boolean | true if force dark is allowed (default), false if it is disabled | 
isHandwritingDelegate
public boolean isHandwritingDelegate ()
Returns whether this view has been set as a handwriting delegate by setIsHandwritingDelegate(boolean).
| Returns | |
|---|---|
| boolean | |
isHapticFeedbackEnabled
public boolean isHapticFeedbackEnabled ()
Related XML Attributes:
| Returns | |
|---|---|
| boolean | whether this view should have haptic feedback enabled for events such as long presses. | 
isHardwareAccelerated
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
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
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
public boolean isHovered ()
Returns true if the view is currently hovered.
| Returns | |
|---|---|
| boolean | True if the view is currently hovered. | 
isImportantForAccessibility
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:
 
- IMPORTANT_FOR_ACCESSIBILITY_NOor- IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS, return- false
- IMPORTANT_FOR_ACCESSIBILITY_YES, return- true
- IMPORTANT_FOR_ACCESSIBILITY_AUTO, return- trueif view satisfies any of the following:- Is actionable, e.g. isClickable(),isLongClickable(),isContextClickable(),isScreenReaderFocusable(), orisFocusable()
- Has an AccessibilityDelegate
- Has an AccessibilityNodeProvider
- Has an interaction listener, e.g. OnTouchListener,OnKeyListener, etc.
- Is an accessibility live region, e.g.
 getAccessibilityLiveRegion()is notACCESSIBILITY_LIVE_REGION_NONE.
 
- Is actionable, e.g. 
- Has an accessibility pane title, see setAccessibilityPaneTitle(CharSequence)
- Is an accessibility heading, see setAccessibilityHeading(boolean).
| Returns | |
|---|---|
| boolean | Whether the view is exposed for accessibility. | 
isImportantForAutofill
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:
- The view can be autofilled by an AutofillService.
- The view contents can help an AutofillServicedetermine how other views can be autofilled.- if it returns IMPORTANT_FOR_AUTOFILL_YESorIMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS, then it returnstrue
- if it returns IMPORTANT_FOR_AUTOFILL_NOorIMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS, then it returnsfalse
- if it returns IMPORTANT_FOR_AUTOFILL_AUTO, then it uses some simple heuristics that can returntruein some cases (like a container with a resource id), butfalsein most.
- otherwise, it returns false.
- For Build.VERSION_CODES.TIRAMISUand below:- When a view is considered important for autofill:
          - The view might automatically trigger an autofill request when focused on.
- The contents of the view are included in the ViewStructureused in an autofill request.
 
- On the other hand, when a view is considered not important for autofill:
          - The view never automatically triggers autofill requests, but it can trigger a
                manual request through AutofillManager.requestAutofill(View).
- The contents of the view are not included in the ViewStructureused in an autofill request, unless the request has theAUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWSflag.
 
- The view never automatically triggers autofill requests, but it can trigger a
                manual request through 
 
- When a view is considered important for autofill:
          
- For Build.VERSION_CODES.UPSIDE_DOWN_CAKEand above:- The system uses importance, along with other view properties and other optimization factors, to determine if a view should trigger autofill on focus.
- The contents of IMPORTANT_FOR_AUTOFILL_AUTO,IMPORTANT_FOR_AUTOFILL_YES,IMPORTANT_FOR_AUTOFILL_NO,IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS, andIMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTSviews will be included in theViewStructureused in an autofill request.
 
 For example, view containers should typically return falsefor performance reasons (since the important info is provided by their children), but if its properties have relevant information (for example, a resource id calledcredentials, it should returntrue. On the other hand, views representing labels or editable fields should typically returntrue, but in some cases they could returnfalse(for example, if they're part of a "Captcha" mechanism).The value returned by this method depends on the value returned by getImportantForAutofill():The behavior of importances depends on Android version: Returns booleanwhether the view is considered important for autofill. 
- if it returns 
isImportantForContentCapture
public final boolean isImportantForContentCapture ()
Hints the Android System whether this view is considered important for content capture, based
 on the value explicitly set by setImportantForContentCapture(int) and heuristics
 when it's IMPORTANT_FOR_CONTENT_CAPTURE_AUTO.
 
See ContentCaptureManager for more info about content capture.
| Returns | |
|---|---|
| boolean | whether the view is considered important for content capture. | 
isInEditMode
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
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
public boolean isInTouchMode ()
Returns the touch mode state associated with this view.
 Attached views return the touch mode state from the associated window's display.
 Detached views just return the default touch mode value defined in
 com.android.internal.R.bool.config_defaultInTouchMode.
 Touch mode is entered once the user begins interacting with the device by touch, and
 affects various things like whether focus highlight is always visible to the user.
| Returns | |
|---|---|
| boolean | the touch mode state associated with this view | 
isKeyboardNavigationCluster
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
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
public boolean isLayoutDirectionResolved ()
| Returns | |
|---|---|
| boolean | true if layout direction has been resolved. | 
isLayoutRequested
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
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
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
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
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
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 | 
isPreferKeepClear
public final boolean isPreferKeepClear ()
Retrieve the preference for this view to be kept clear. This is set either by
 setPreferKeepClear(boolean) or via the attribute android.R.styleable#View_preferKeepClear.
 
 If this is true, the system will ignore the Rects set by
 setPreferKeepClearRects(List) and try to keep the whole view clear.
 
Related XML Attributes:
| Returns | |
|---|---|
| boolean | |
See also:
isPressed
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 | 
isSaveEnabled
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
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(android.util.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
public boolean isScreenReaderFocusable ()
Returns whether the view should be treated as a focusable unit by screen reader accessibility tools.
 Note: Use
 ViewCompat.setScreenReaderFocusable(View, boolean)
 for backwards-compatibility. 
Related XML Attributes:
| Returns | |
|---|---|
| boolean | Whether the view should be treated as a focusable unit by screen reader. | 
See also:
isScrollContainer
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
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
public boolean isSelected ()
Indicates the selection state of this view.
| Returns | |
|---|---|
| boolean | true if the view is selected, false otherwise | 
isShowingLayoutBounds
public final boolean isShowingLayoutBounds ()
Returns true when the View is attached and the system developer setting to show
 the layout bounds is enabled or false otherwise.
| Returns | |
|---|---|
| boolean | |
isShown
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
public boolean isSoundEffectsEnabled ()
Related XML Attributes:
| Returns | |
|---|---|
| boolean | whether this view should have sound effects enabled for events such as clicking and touching. | 
isTemporarilyDetached
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 | truewhen the View is in the state betweenonStartTemporaryDetach()andonFinishTemporaryDetach(). | 
isTextAlignmentResolved
public boolean isTextAlignmentResolved ()
| Returns | |
|---|---|
| boolean | true if text alignment is resolved. | 
isTextDirectionResolved
public boolean isTextDirectionResolved ()
| Returns | |
|---|---|
| boolean | true if text direction is resolved. | 
isVerticalFadingEdgeEnabled
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
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
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
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
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 isFOCUS_BACKWARD,FOCUS_FORWARD,FOCUS_LEFT,FOCUS_UP,FOCUS_RIGHT, orFOCUS_DOWN | 
| Returns | |
|---|---|
| View | The nearest keyboard navigation cluster in the specified direction, or null if none can be found | 
layout
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
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, only
 onMeasure(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
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
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
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(android.view.WindowInsets).
Clients may supply an 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
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(java.lang.Runnable), postDelayed(java.lang.Runnable, long) or
 Handler should override this method, call
 super.onCancelPendingInputEvents() and remove those callbacks as appropriate.
 
onCapturedPointerEvent
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
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(android.view.inputmethod.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(android.view.inputmethod.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
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 | |
onCreateViewTranslationRequest
public void onCreateViewTranslationRequest (int[] supportedFormats, 
                Consumer<ViewTranslationRequest> requestsCollector)Collects a ViewTranslationRequest which represents the content to be translated in
 the view.
 
The default implementation does nothing.
| Parameters | |
|---|---|
| supportedFormats | int: the supported translation formats. For now, the only possible value
 is theTranslationSpec.DATA_FORMAT_TEXT.
 This value cannot benull.
 Value isTranslationSpec.DATA_FORMAT_TEXT | 
| requestsCollector | Consumer: aViewTranslationRequestcollector that can be used to
 collect the information to be translated in the view. TherequestsCollectoronly
 accepts one request; an IllegalStateException is thrown if more than oneViewTranslationRequestis submitted to it. TheAutofillIdmust be set on theViewTranslationRequest.
 This value cannot benull. | 
onCreateVirtualViewTranslationRequests
public void onCreateVirtualViewTranslationRequests (long[] virtualIds, 
                int[] supportedFormats, 
                Consumer<ViewTranslationRequest> requestsCollector)Collects ViewTranslationRequests which represents the content to be translated
 for the virtual views in the host view. This is called if this view returned a virtual
 view structure from onProvideContentCaptureStructure(ViewStructure, int) and the system determined that
 those virtual views were relevant for translation.
 
The default implementation does nothing.
| Parameters | |
|---|---|
| virtualIds | long: the virtual view ids which represents the virtual views in the host
 view.
 This value cannot benull. | 
| supportedFormats | int: the supported translation formats. For now, the only possible value
 is theTranslationSpec.DATA_FORMAT_TEXT.
 This value cannot benull.
 Value isTranslationSpec.DATA_FORMAT_TEXT | 
| requestsCollector | Consumer: aViewTranslationRequestcollector that can be called
 multiple times to collect the information to be translated in the host view. OneViewTranslationRequestper virtual child. TheViewTranslationRequestmust
 contains theAutofillIdcorresponding to the virtualChildIds. Do not keep this
 Consumer after the method returns.
 This value cannot benull. | 
onDragEvent
public boolean onDragEvent (DragEvent event)
Handles drag events sent by the system following a call to
 startDragAndDrop().
 
 The system calls this method and passes a DragEvent object in response to drag and
 drop events. This method can then call DragEvent.getAction() to determine the state
 of the drag and drop operation.
 
 The default implementation returns false unless an OnReceiveContentListener
 has been set for this view (see setOnReceiveContentListener(String, OnReceiveContentListener)), in which case
 the default implementation does the following:
 
- Returns truefor anACTION_DRAG_STARTEDevent
- Calls performReceiveContent(ContentInfo)for anACTION_DROPevent
- Returns truefor anACTION_DROPevent if theOnReceiveContentListenerconsumed some or all of the content
| Parameters | |
|---|---|
| event | DragEvent: TheDragEventobject sent by the system. TheDragEvent.getAction()method returns an action type constant that indicates the
   type of drag event represented by this object. | 
| Returns | |
|---|---|
| boolean | trueif the method successfully handled the drag event, otherwisefalse.
     The method must return  
     The method should return  
     For all other events, the return value is  | 
onDrawForeground
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
 This value cannot benull. | 
onFilterTouchEventForSecurity
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
public void onFinishTemporaryDetach ()
Called after onStartTemporaryDetach() when the container is done
 changing the view.
onGenericMotionEvent
public boolean onGenericMotionEvent (MotionEvent event)
Implement this method to handle generic motion events.
 Generic motion events describe joystick movements, hover events from mouse or stylus
 devices, trackpad touches, scroll wheel movements and other motion events not handled
 by onTouchEvent(android.view.MotionEvent) or onTrackballEvent(android.view.MotionEvent).
 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 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
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 byisHovered(). | 
See also:
onHoverEvent
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 action
 MotionEvent.ACTION_HOVER_ENTER, MotionEvent.ACTION_HOVER_MOVE,
 or MotionEvent.ACTION_HOVER_EXIT.
 
- The view receives a hover event with action MotionEvent.ACTION_HOVER_ENTERwhen the pointer enters the bounds of the view.
- The view receives a hover event with action MotionEvent.ACTION_HOVER_MOVEwhen the pointer has already entered the bounds of the view and has moved.
- The view receives a hover event with action MotionEvent.ACTION_HOVER_EXITwhen 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. | 
onInitializeAccessibilityEvent
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 AccessibilityDelegate has been specified via calling
 setAccessibilityDelegate(android.view.View.AccessibilityDelegate) its
 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. | 
onInitializeAccessibilityNodeInfo
public void onInitializeAccessibilityNodeInfo (AccessibilityNodeInfo info)
Initializes an AccessibilityNodeInfo with information about this view.
 The base implementation sets:
 
- AccessibilityNodeInfo.setParent(View),
- AccessibilityNodeInfo.setBoundsInParent(Rect),
- AccessibilityNodeInfo.setBoundsInScreen(Rect),
- AccessibilityNodeInfo.setPackageName(CharSequence),
- AccessibilityNodeInfo.setClassName(CharSequence),
- AccessibilityNodeInfo.setContentDescription(CharSequence),
- AccessibilityNodeInfo.setEnabled(boolean),
- AccessibilityNodeInfo.setClickable(boolean),
- AccessibilityNodeInfo.setFocusable(boolean),
- AccessibilityNodeInfo.setFocused(boolean),
- AccessibilityNodeInfo.setLongClickable(boolean),
- AccessibilityNodeInfo.setSelected(boolean),
- AccessibilityNodeInfo.setContextClickable(boolean)
Subclasses should override this method, call the super implementation, and set additional attributes.
 If an AccessibilityDelegate has been specified via calling
 setAccessibilityDelegate(android.view.View.AccessibilityDelegate) its
 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
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, fromKeyEvent | 
| 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
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
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, fromKeyEvent. | 
| 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
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. Due to a bug, this function is not called for BACK key events on Android T and U, when the IME is shown.
| 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
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
public boolean onKeyUp (int keyCode, 
                KeyEvent event)Default implementation of KeyEvent.Callback.onKeyUp(): perform clicking of the view
 when KeyEvent.KEYCODE_DPAD_CENTER, KeyEvent.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, fromKeyEvent. | 
| 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
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
public void onPopulateAccessibilityEvent (AccessibilityEvent event)
Called from dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent)
 giving a chance to this View to populate the accessibility event with its
 text content.
 
 Note: This method should only be used with event.setText().
 Avoid mutating other event state in this method. Instead, follow the practices described in
 dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent). In general, put UI
 metadata in the node for services to easily query, than in transient events.
 
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 AccessibilityDelegate has been specified via calling
 setAccessibilityDelegate(android.view.View.AccessibilityDelegate) its
 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. | 
onProvideAutofillStructure
public void onProvideAutofillStructure (ViewStructure structure, int flags)
Populates a ViewStructure to fullfil an autofill request.
 
The structure should contain at least the following properties:
- Autofill id (ViewStructure.setAutofillId(AutofillId, int)).
- Autofill type (ViewStructure.setAutofillType(int)).
- Autofill value (ViewStructure.setAutofillValue(AutofillValue)).
- Whether the data is sensitive (ViewStructure.setDataIsSensitive(boolean)).
It's also recommended to set the following properties - the more properties the structure
 has, the higher the chances of an AutofillService properly
 using the structure:
 
- Autofill hints (ViewStructure.setAutofillHints(String[])).
- Autofill options (ViewStructure.setAutofillOptions(CharSequence[])) when the view can only be filled with predefined values (typically used when the autofill type isAUTOFILL_TYPE_LIST).
- Resource id (ViewStructure.setId(int, String, String, String)).
- Class name (ViewStructure.setClassName(String)).
- Content description (ViewStructure.setContentDescription(CharSequence)).
- Visual properties such as visibility (ViewStructure.setVisibility(int)), dimensions (ViewStructure.setDimens(int, int, int, int, int, int)), and opacity (ViewStructure.setOpaque(boolean)).
- For views representing text fields, text properties such as the text itself
       (ViewStructure.setText(CharSequence)), text hints (ViewStructure.setHint(CharSequence), input type (ViewStructure.setInputType(int)),
- For views representing HTML nodes, its web domain
       (ViewStructure.setWebDomain(String)) and HTML properties ((ViewStructure.setHtmlInfo(android.view.ViewStructure.HtmlInfo)).
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:
 
- The view contents does not include PII (Personally Identifiable Information), so it
       can call ViewStructure.setDataIsSensitive(boolean)passingfalse.
- The view can only be autofilled with predefined options, so it can call
       ViewStructure.setAutofillOptions(CharSequence[]).
Note: The left and top values set in
 ViewStructure.setDimens(int, int, int, int, int, int) must be relative to the next
 ViewGroup.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 calling
       AutofillManager.notifyValueChanged(View).
- Implementing the methods that autofill the view.
This method is responsible for the former; autofill(android.view.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 either0orAUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS | 
onProvideAutofillVirtualStructure
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(android.graphics.Canvas).
 
When implementing this method, subclasses must follow the rules below:
- Add virtual children by calling the ViewStructure.newChild(int)orViewStructure.asyncNewChild(int)methods, where theidis an unique id identifying the children in the virtual structure.
- The children hierarchy can have multiple levels if necessary, but ideally it should exclude intermediate levels that are irrelevant for autofill; that would improve the autofill performance.
- Also implement autofill(android.util.SparseArray)to autofill the virtual children.
- Set the autofill properties of the child structure as defined by
       onProvideAutofillStructure(android.view.ViewStructure, int), usingViewStructure.setAutofillId(AutofillId, int)to set its autofill id.
- Call AutofillManager.notifyViewEntered(View, int, Rect)and/orAutofillManager.notifyViewExited(View, int)when the focused virtual child changed.
- Override isVisibleToUserForAutofill(int)to allow the platform to query whether a given virtual view is visible to the user in order to support triggering save when all views of interest go away.
- Call
    AutofillManager.notifyValueChanged(View, int, AutofillValue)when the value of a virtual child changed.
- Call AutofillManager.notifyViewVisibilityChanged(View, int, boolean)when the visibility of a virtual child changed.
- Call
    AutofillManager.notifyViewClicked(View, int)when a virtual child is clicked.
- Call AutofillManager.commit()when the autofill context of the view structure changed and the current context should be committed (for example, when the user tapped aSUBMITbutton in an HTML page).
- Call AutofillManager.cancel()when the autofill context of the view structure changed and the current context should be canceled (for example, when the user tapped aCANCELbutton in an HTML page).
- Provide ways for users to manually request autofill by calling
       AutofillManager.requestAutofill(View, int, Rect).
- The leftandtopvalues set inViewStructure.setDimens(int, int, int, int, int, int)must be relative to the nextViewGroup.isImportantForAutofill()predecessor view included in the structure.
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(android.util.SparseArray) is responsible
 for the latter.
| Parameters | |
|---|---|
| structure | ViewStructure: fill in with virtual children data for autofill purposes. | 
| flags | int: optional flags. | 
onProvideContentCaptureStructure
public void onProvideContentCaptureStructure (ViewStructure structure, int flags)
Populates a ViewStructure for content capture.
 
This method is called after a view that is eligible for content capture
 (for example, if it isImportantForContentCapture(), an intelligence service is
 enabled for the user, and the activity rendering the view is enabled for content capture)
 is laid out and is visible. The populated structure is then passed to the service through
 ContentCaptureSession.notifyViewAppeared(ViewStructure).
 
The default implementation of this method sets the most relevant properties based on
 related View methods, and views in the standard Android widgets library also
 override it to set their relevant properties. Therefore, if overriding this method, it
 is recommended to call super.onProvideContentCaptureStructure().
 
Note: views that manage a virtual structure under this view must populate just
 the node representing this view and return right away, then asynchronously report (not
 necessarily in the UI thread) when the children nodes appear, disappear or have their text
 changed by calling
 ContentCaptureSession.notifyViewAppeared(ViewStructure),
 ContentCaptureSession.notifyViewDisappeared(AutofillId), and
 ContentCaptureSession.notifyViewTextChanged(AutofillId, CharSequence)
 respectively. The structure for a child must be created using
 ContentCaptureSession.newVirtualViewStructure(AutofillId, long), and the
 autofillId for a child can be obtained either through
 childStructure.getAutofillId() or
 ContentCaptureSession.newAutofillId(AutofillId, long).
 
When the virtual view hierarchy represents a web page, you should also:
- Call ContentCaptureManager.getContentCaptureConditions()to infer content capture events should be generate for that URL.
- Create a new ContentCaptureSessionchild for every HTML element that renders a new URL (like anIFRAME) and use that session to notify events from that subtree.
Note: the following methods of the structure will be ignored:
 
- ViewStructure.setChildCount(int)
- ViewStructure.addChildCount(int)
- ViewStructure.getChildCount()
- ViewStructure.newChild(int)
- ViewStructure.asyncNewChild(int)
- ViewStructure.asyncCommit()
- ViewStructure.setWebDomain(String)
- ViewStructure.newHtmlInfoBuilder(String)
- ViewStructure.setHtmlInfo(android.view.ViewStructure.HtmlInfo)
- ViewStructure.setDataIsSensitive(boolean)
- ViewStructure.setAlpha(float)
- ViewStructure.setElevation(float)
- ViewStructure.setTransformation(Matrix)
| Parameters | |
|---|---|
| structure | ViewStructure: This value cannot benull. | 
| flags | int | 
onProvideStructure
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
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 default 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 | 
onReceiveContent
public ContentInfo onReceiveContent (ContentInfo payload)
Implements the default behavior for receiving content for this type of view. The default view implementation is a no-op (returns the passed-in content without acting on it).
Widgets should override this method to define their default behavior for receiving
 content. Apps should set a listener to provide
 app-specific handling for receiving content.
 
See setOnReceiveContentListener(String, OnReceiveContentListener) and performReceiveContent(ContentInfo) for more info.
| Parameters | |
|---|---|
| payload | ContentInfo: The content to insert and related metadata.
 This value cannot benull. | 
| Returns | |
|---|---|
| ContentInfo | The portion of the passed-in content that was not handled (may be all, some, or none
 of the passed-in content).
 This value may be null. | 
onResolvePointerIcon
public PointerIcon onResolvePointerIcon (MotionEvent event, int pointerIndex)
Resolve the pointer icon that should be used for specified pointer in the motion event.
 The default implementation will resolve the pointer icon to one set using
 setPointerIcon(android.view.PointerIcon) for mouse devices. Subclasses may override this to
 customize the icon for the given pointer.
 For example, to always show the PointerIcon.TYPE_HANDWRITING icon for a stylus pointer,
 the event can be resolved in the following way:
 
 @Override
 public PointerIcon onResolvePointerIcon(MotionEvent event, int pointerIndex) {
     final int toolType = event.getToolType(pointerIndex);
     if (!event.isFromSource(InputDevice.SOURCE_MOUSE)
             && event.isFromSource(InputDevice.SOURCE_STYLUS)
             && (toolType == MotionEvent.TOOL_TYPE_STYLUS
                     || toolType == MotionEvent.TOOL_TYPE_ERASER)) {
         // Show this pointer icon only if this pointer is a stylus.
         return PointerIcon.getSystemIcon(mContext, PointerIcon.TYPE_HANDWRITING);
     }
     // Use the default logic for determining the pointer icon for other non-stylus pointers,
     // like for the mouse cursor.
     return super.onResolvePointerIcon(event, pointerIndex);
 }
 
| Parameters | |
|---|---|
| event | MotionEvent: TheMotionEventthat requires a pointer icon to be resolved for one of
              pointers. | 
| pointerIndex | int: The index of the pointer ineventfor which to retrieve thePointerIcon. This will be between 0 andMotionEvent.getPointerCount(). | 
| Returns | |
|---|---|
| PointerIcon | the pointer icon to use for specified pointer, or nullif a pointer icon
     is not specified and the default icon should be used. | 
onRtlPropertiesChanged
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 isLAYOUT_DIRECTION_LTR, orLAYOUT_DIRECTION_RTL | 
See also:
onScreenStateChanged
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 eitherSCREEN_STATE_ONorSCREEN_STATE_OFF | 
onScrollCaptureSearch
public void onScrollCaptureSearch (Rect localVisibleRect, Point windowOffset, Consumer<ScrollCaptureTarget> targets)
Called when scroll capture is requested, to search for appropriate content to scroll. If
 applicable, this view adds itself to the provided list for consideration, subject to the
 flags set by setScrollCaptureHint(int).
| Parameters | |
|---|---|
| localVisibleRect | Rect: the local visible rect of this view
 This value cannot benull. | 
| windowOffset | Point: the offset of localVisibleRect within the window
 This value cannot benull. | 
| targets | Consumer: accepts potential scroll capture targets;results.acceptmay be called zero or more times on the calling
                         thread before onScrollCaptureSearch returns
 This value cannot benull. | 
| Throws | |
|---|---|
| IllegalStateException | if this view is not attached to a window | 
onStartTemporaryDetach
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
public boolean onTouchEvent (MotionEvent event)
Implement this method to handle pointer events.
This method is called to handle motion events where pointers are down on the view. For example, this could include touchscreen touches, stylus touches, or click-and-drag events from a mouse. However, it is not called for motion events that do not involve pointers being down, such as hover events or mouse scroll wheel movements.
 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_CLICKwhen accessibility features are enabled
| Parameters | |
|---|---|
| event | MotionEvent: The motion event. | 
| Returns | |
|---|---|
| boolean | True if the event was handled, false otherwise. | 
onTrackballEvent
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. | 
onViewTranslationResponse
public void onViewTranslationResponse (ViewTranslationResponse response)
Called when the content from View.onCreateViewTranslationRequest had been translated
 by the TranslationService. The ViewTranslationResponse should be saved here so that
 the ViewTranslationResponse can be used to display the translation when the system
 calls ViewTranslationCallback.onShowTranslation.
 
 The default implementation will set the ViewTranslationResponse that can be get from
 View.getViewTranslationResponse. 
| Parameters | |
|---|---|
| response | ViewTranslationResponse: aViewTranslationResponsethat contains the translated information
 which can be shown in the view.
 This value cannot benull. | 
onVirtualViewTranslationResponses
public void onVirtualViewTranslationResponses (LongSparseArray<ViewTranslationResponse> response)
Called when the content from View.onCreateVirtualViewTranslationRequests had been
 translated by the TranslationService.
 
The default implementation does nothing.
| Parameters | |
|---|---|
| response | LongSparseArray: aViewTranslationResponseSparseArray for the request that send byView.onCreateVirtualViewTranslationRequeststhat contains the translated information
 which can be shown in the view. The key of SparseArray is the virtual child ids.
 This value cannot benull. | 
onVisibilityAggregated
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 areVISIBLEand this view's window is also visible | 
onWindowFocusChanged
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
public void onWindowSystemUiVisibilityChanged (int visible)
      This method was deprecated
      in API level 30.
    SystemUiVisibility flags are deprecated. Use WindowInsetsController
 instead.
  
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 through
 setOnSystemUiVisibilityChangeListener(android.view.View.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
public boolean performAccessibilityAction (int action, 
                Bundle arguments)Performs the specified accessibility action on the view. For
 possible accessibility actions look at AccessibilityNodeInfo.
 
 If an AccessibilityDelegate has been specified via calling
 setAccessibilityDelegate(android.view.View.AccessibilityDelegate) its
 AccessibilityDelegate.performAccessibilityAction(View, int, Bundle)
 is responsible for handling this call.
 
The default implementation will delegate
 AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD and
 AccessibilityNodeInfo.ACTION_SCROLL_FORWARD to nested scrolling parents if
 nested scrolling is enabled on this view.
 Note: Avoid setting accessibility focus with
 AccessibilityNodeInfo.ACTION_ACCESSIBILITY_FOCUS. This is intended to be controlled
 by screen readers. Apps changing focus can confuse screen readers, so the resulting behavior
 can vary by device and screen reader version.
| Parameters | |
|---|---|
| action | int: The action to perform. | 
| arguments | Bundle: Optional action arguments.
 This value may benull. | 
| Returns | |
|---|---|
| boolean | Whether the action was performed. | 
performClick
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
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
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
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 inHapticFeedbackConstants | 
| Returns | |
|---|---|
| boolean | |
performHapticFeedback
public boolean performHapticFeedback (HapticFeedbackRequest request)
Like performHapticFeedback(int, int), but takes a HapticFeedbackRequest.
 
Using a HapticFeedbackRequest allows you to make more elaborate haptic feedback
 requests, including setting the usage type for the requested feedback.
 
Specifying the usage type for your feedback allows the system to understand the context of the feedback better, and tune the haptic accordingly. When not specifying the usage type for the feedback request, or when using the other performHapticFeedback APIs, the system will do a best guess of the vibration usage based on the constant.
See VibrationAttributes to learn more about vibration usages. The usage provided
 for this API must be of VibrationAttributes.USAGE_CLASS_FEEDBACK, or
 VibrationAttributes.USAGE_UNKNOWN. Otherwise, the haptic feedback will not be played.
 If VibrationAttributes.USAGE_UNKNOWN is used, the system will do a best guess of the
 vibration usage based on the constant.
 
Note that, if you will be calling this API repeatedly and your
 HapticFeedbackRequest does not change across these repeated calls, it is recommended
 that you create, cache, and reuse the request object to avoid the costs of repeated object
 creation and garbage collection.
| Parameters | |
|---|---|
| request | HapticFeedbackRequest: theHapticFeedbackRequestencapsulating the request for haptic.
 This value cannot benull. | 
| Returns | |
|---|---|
| boolean | falseifisHapticFeedbackEnabled()isfalse, or this View is
      not attached to a visible window, or the vibration usage in the provided request is not
      valid (i.e. neither hasVibrationAttributes.USAGE_CLASS_FEEDBACKnor isVibrationAttributes.USAGE_UNKNOWN); otherwise,true, indicating
      that the haptic feedback request has been sent to the system. Note thattruecould be returned but no vibration may be produced if the service decides that the
      device's states do not allow for this haptic feedback (for example, the user disabled
      vibrations for this usage). | 
performHapticFeedback
public boolean performHapticFeedback (int feedbackConstant, 
                int flags)BZZZTT!!1!
Like performHapticFeedback(int), with additional options.
| Parameters | |
|---|---|
| feedbackConstant | int: One of the constants defined inHapticFeedbackConstants | 
| flags | int: Additional flags as perHapticFeedbackConstants. | 
| Returns | |
|---|---|
| boolean | |
performLongClick
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, orFloat.NaNto disable anchoring | 
| y | float: y coordinate of the anchoring touch event, orFloat.NaNto disable anchoring | 
| Returns | |
|---|---|
| boolean | trueif one of the above receivers consumed the event,falseotherwise | 
performLongClick
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 | trueif one of the above receivers consumed the event,falseotherwise | 
performReceiveContent
public ContentInfo performReceiveContent (ContentInfo payload)
Receives the given content. If no listener is set, invokes onReceiveContent(ContentInfo). If a
 listener is set, invokes the listener instead; if the
 listener returns a non-null result, invokes onReceiveContent(ContentInfo) to handle it.
| Parameters | |
|---|---|
| payload | ContentInfo: The content to insert and related metadata.
 This value cannot benull. | 
| Returns | |
|---|---|
| ContentInfo | The portion of the passed-in content that was not accepted (may be all, some, or none of the passed-in content). | 
playSoundEffect
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 inSoundEffectConstants.
 Value isSoundEffectConstants.CLICK,SoundEffectConstants.NAVIGATION_LEFT,SoundEffectConstants.NAVIGATION_UP,SoundEffectConstants.NAVIGATION_RIGHT,SoundEffectConstants.NAVIGATION_DOWN,SoundEffectConstants.NAVIGATION_REPEAT_LEFT,SoundEffectConstants.NAVIGATION_REPEAT_UP,SoundEffectConstants.NAVIGATION_REPEAT_RIGHT, orSoundEffectConstants.NAVIGATION_REPEAT_DOWN | 
post
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. | 
postDelayed
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
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
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. | 
postInvalidateDelayed
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. | 
postInvalidateDelayed
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
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. | 
postInvalidateOnAnimation
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
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. | 
postOnAnimationDelayed
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. | 
refreshDrawableState
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
public void releasePointerCapture ()
Releases the pointer capture.
If the window does not have pointer capture, this call will do nothing.
removeCallbacks
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.) | 
removeOnAttachStateChangeListener
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 | 
removeOnLayoutChangeListener
public void removeOnLayoutChangeListener (View.OnLayoutChangeListener listener)
Remove a listener for layout changes.
| Parameters | |
|---|---|
| listener | View.OnLayoutChangeListener: The listener for layout bounds change. | 
removeOnUnhandledKeyEventListener
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 unhandledKeyEvents. | 
reportAppJankStats
public void reportAppJankStats (AppJankStats appJankStats)
Called from apps when they want to report jank stats to the system.
| Parameters | |
|---|---|
| appJankStats | AppJankStats: the stats that will be merged with the stats collected by the system.
 This value cannot benull. | 
requestApplyInsets
public void requestApplyInsets ()
Ask that a new dispatch of onApplyWindowInsets(android.view.WindowInsets) be performed.
requestFitSystemWindows
public void requestFitSystemWindows ()
      This method was deprecated
      in API level 20.
    Use requestApplyInsets() for newer platform versions.
  
Ask that a new dispatch of fitSystemWindows(android.graphics.Rect) be performed.
requestFocus
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, android.graphics.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
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, android.graphics.Rect) with arguments
 FOCUS_DOWN and null.
| Returns | |
|---|---|
| boolean | Whether this view or one of its descendants actually took focus. | 
requestFocus
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 to
 ViewGroup.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
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
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
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. Enabling pointer capture will change the behavior of input devices in the following ways:
- Events from a mouse will be delivered with the source
     InputDevice.SOURCE_MOUSE_RELATIVE, and relative position changes will be available throughMotionEvent.getXandMotionEvent.getY.
- Events from a touchpad or trackpad will be delivered with the source
     InputDevice.SOURCE_TOUCHPAD, where the absolute position of each of the pointers on the touchpad will be available throughMotionEvent.getX(int)andMotionEvent.getY(int), and their relative movements are stored inMotionEvent.AXIS_RELATIVE_XandMotionEvent.AXIS_RELATIVE_Y.
- Events from other types of devices, such as touchscreens, will not be affected.
 When pointer capture changes, connected mouse and trackpad devices may be reconfigured,
 and their properties (such as their sources or motion ranges) may change. Use an
 InputManager.InputDeviceListener to be notified when a device
 changes (which may happen after enabling or disabling pointer capture), and use
 InputDevice.getDevice(int) to get the updated InputDevice.
 
 Events captured through pointer capture will be dispatched to
 OnCapturedPointerListener.onCapturedPointer(View, MotionEvent) if an
 OnCapturedPointerListener is set, and otherwise to
 onCapturedPointerEvent(android.view.MotionEvent).
 
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.
requestRectangleOnScreen
public boolean requestRectangleOnScreen (Rect rectangle, boolean immediate, int source)
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.
 
 The source parameter is used to differentiate behaviors of certain
 system features, like focus-following with display magnification, based on user
 preferences and the source of requests to show content on-screen. Callers are
 encouraged to provide one of the following request sources, when applicable,
 instead of using requestRectangleOnScreen(android.graphics.Rect) or
 requestRectangleOnScreen(android.graphics.Rect, boolean):
 
- RECTANGLE_ON_SCREEN_REQUEST_SOURCE_SCROLL_ONLY
- RECTANGLE_ON_SCREEN_REQUEST_SOURCE_TEXT_CURSOR
- RECTANGLE_ON_SCREEN_REQUEST_SOURCE_INPUT_FOCUS
| Parameters | |
|---|---|
| rectangle | Rect: The rectangle in the View's content coordinate space
 This value cannot benull. | 
| immediate | boolean: True to forbid animated scrolling, false otherwise | 
| source | int: The type of user interaction that requested this rectangle
 Value isRECTANGLE_ON_SCREEN_REQUEST_SOURCE_UNDEFINED,RECTANGLE_ON_SCREEN_REQUEST_SOURCE_SCROLL_ONLY,RECTANGLE_ON_SCREEN_REQUEST_SOURCE_TEXT_CURSOR, orRECTANGLE_ON_SCREEN_REQUEST_SOURCE_INPUT_FOCUS | 
| Returns | |
|---|---|
| boolean | Whether any parent scrolled. | 
requestRectangleOnScreen
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
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
public final void requestUnbufferedDispatch (int source)
Request unbuffered dispatch of the given event source class to this view.
 This is similar to View.requestUnbufferedDispatch(MotionEvent), but does not
 automatically terminate, and allows the specification of arbitrary input source classes.
 
Prior to Build.VERSION_CODES.UPSIDE_DOWN_CAKE, calling this method
 will not result in any behavioral changes when this View is not attached to a window.
| Parameters | |
|---|---|
| source | int: The combined input source class to request unbuffered dispatch for. All
               events coming from these source classes will not be buffered. Set toInputDevice.SOURCE_CLASS_NONEin order to return to default behaviour.
 Value is either0or a combination ofInputDevice.SOURCE_CLASS_NONE,InputDevice.SOURCE_CLASS_BUTTON,InputDevice.SOURCE_CLASS_POINTER,InputDevice.SOURCE_CLASS_TRACKBALL,InputDevice.SOURCE_CLASS_POSITION, andInputDevice.SOURCE_CLASS_JOYSTICK | 
See also:
requestUnbufferedDispatch
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(android.view.MotionEvent) is right for
 you.
requestUnbufferedDispatch(int),
    | Parameters | |
|---|---|
| event | MotionEvent | 
See also:
requireViewById
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 cannot be null. | 
See also:
resetPivot
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
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
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_MASKandMEASURED_STATE_TOO_SMALL. | 
restoreDefaultFocus
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
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. | 
saveAttributeDataForStyleable
public final void saveAttributeDataForStyleable (Context context, int[] styleable, AttributeSet attrs, TypedArray t, int defStyleAttr, int defStyleRes)
Stores debugging information about attributes. This should be called in a constructor by
 every custom View that uses a custom styleable. If the custom view does not call it,
 then the custom attributes used by this view will not be visible in layout inspection tools.
| Parameters | |
|---|---|
| context | Context: Context under which this view is created.
 This value cannot benull. | 
| styleable | int: A reference to styleable array R.styleable.Foo
 This value cannot benull. | 
| attrs | AttributeSet: AttributeSet used to construct this view.
 This value may benull. | 
| t | TypedArray: ResolvedTypedArrayreturned by a call toResources.obtainAttributes(AttributeSet, int[]).
 This value cannot benull. | 
| defStyleAttr | int: Default style attribute passed into the view constructor. | 
| defStyleRes | int: Default style resource passed into the view constructor. | 
saveHierarchyState
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. | 
scheduleDrawable
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 cannot benull. | 
| what | Runnable: the action to run on the drawable
 This value cannot benull. | 
| when | long: the time at which the action must occur. Uses theSystemClock.uptimeMillistimebase. | 
scrollBy
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
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
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(android.view.accessibility.AccessibilityEvent) first
 to populate information about the event source (this View), then calls
 dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent) to
 populate the text content of the event source including its descendants,
 then for events type AccessibilityEvent.TYPE_VIEW_SCROLLED
 and AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED with
 subtype AccessibilityEvent.CONTENT_CHANGE_TYPE_STATE_DESCRIPTION,
 throttle the events, and last calls
 ViewParent.requestSendAccessibilityEvent(View, AccessibilityEvent)
 on its parent to request sending of the event to interested parties.
 
 If an AccessibilityDelegate has been specified via calling
 setAccessibilityDelegate(android.view.View.AccessibilityDelegate) its
 AccessibilityDelegate.sendAccessibilityEvent(View, int) is
 responsible for handling this call.
 
 If this view uses AccessibilityNodeProvider to provide virtual view hierarchy rooted
 at this view, this method should not be called to send events from virtual children because
 it will populate the events with wrong information and the events should be throttled per
 child instead at the virtual root level. To send events from virtual children, call
 ViewParent.requestSendAccessibilityEvent(View, AccessibilityEvent) on the view's
 parent to request sending of the event to interested parties.
 
| Parameters | |
|---|---|
| eventType | int: The type of the event to send, as defined by several types fromAccessibilityEvent, such asAccessibilityEvent.TYPE_VIEW_CLICKEDorAccessibilityEvent.TYPE_VIEW_HOVER_ENTER. | 
sendAccessibilityEventUnchecked
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 AccessibilityDelegate has been specified via calling
 setAccessibilityDelegate(android.view.View.AccessibilityDelegate) its
 AccessibilityDelegate.sendAccessibilityEventUnchecked(View, AccessibilityEvent)
 is responsible for handling this call.
 
| Parameters | |
|---|---|
| event | AccessibilityEvent: The event to send. | 
See also:
setAccessibilityDataSensitive
public void setAccessibilityDataSensitive (int accessibilityDataSensitive)
Specifies whether this view should only allow interactions from
 AccessibilityServices with the
 AccessibilityServiceInfo.isAccessibilityTool() property
 set to true.
| Parameters | |
|---|---|
| accessibilityDataSensitive | int: Value isACCESSIBILITY_DATA_SENSITIVE_AUTO,ACCESSIBILITY_DATA_SENSITIVE_YES, orACCESSIBILITY_DATA_SENSITIVE_NO | 
setAccessibilityDelegate
public void setAccessibilityDelegate (View.AccessibilityDelegate delegate)
Sets a delegate for implementing accessibility support via composition
 (as opposed to inheritance). For more details, see
 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 overriding
 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 benull. | 
See also:
setAccessibilityHeading
public void setAccessibilityHeading (boolean isHeading)
Set if view is a heading for a section of content for accessibility purposes.
Users of some accessibility services can choose to navigate between headings instead of between paragraphs, words, etc. Apps that provide headings on sections of text can help the text navigation experience.
 Note: Use ViewCompat.setAccessibilityHeading(View, boolean)
 for backwards-compatibility. 
Related XML Attributes:
| Parameters | |
|---|---|
| isHeading | boolean:trueif the view is a heading,falseotherwise. | 
setAccessibilityLiveRegion
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).
Different priority levels are available:
- 
       ACCESSIBILITY_LIVE_REGION_POLITE: Indicates that updates to the region should be presented to the user. Suitable in most cases for prominent updates within app content that don't require the user's immediate attention.
- 
       ACCESSIBILITY_LIVE_REGION_ASSERTIVE: Indicates that updates to the region have the highest priority and should be presented to the user immediately. This may result in disruptive notifications from an accessibility service, which may potentially interrupt other feedback or user actions, so it should generally be used only for critical, time-sensitive information.
- 
       ACCESSIBILITY_LIVE_REGION_NONE: Disables change announcements (the default for most views).
Examples:
- 
         Selecting an option in a dropdown menu updates a panel below with the updated
         content. This panel may be marked as a live region with
         ACCESSIBILITY_LIVE_REGION_POLITEto notify users of the change. A screen reader may queue changes as announcements that don't disrupt ongoing speech.
- 
          An emergency alert may be marked with ACCESSIBILITY_LIVE_REGION_ASSERTIVEto immediately inform users of the emergency.
 For error notifications, like an "incorrect password" warning in a login screen, views
 should send a AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED
 AccessibilityEvent with a content change type
 AccessibilityEvent.CONTENT_CHANGE_TYPE_ERROR and set
 AccessibilityNodeInfo.setError(CharSequence). Custom widgets should provide
 error-setting methods that support accessibility. For example, use
 TextView.setError(CharSequence) instead of explicitly sending events.
 
 Don't use live regions for frequently-updating UI elements (e.g., progress bars), as this can
 overwhelm the user with feedback from accessibility services. If necessary, use
 AccessibilityNodeInfo.setMinDurationBetweenContentChanges(Duration) to throttle
 feedback and reduce disruptions.
 
Related XML Attributes:
| Parameters | |
|---|---|
| mode | int: The live region mode for this view, one of: | 
setAccessibilityPaneTitle
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 large 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
 AccessibilityEvent.TYPE_WINDOW_STATE_CHANGEDs when they appear, disappear, or change
 title.
 
 When transitioning from one Activity to another, instead of using
 setAccessibilityPaneTitle(), set a descriptive title for its window by using
 android:label
 for the matching Activity entry in your application's manifest or updating the title at
 runtime with Activity.setTitle(CharSequence).
 
Related XML Attributes:
| Parameters | |
|---|---|
| accessibilityPaneTitle | CharSequence: The pane's title. Setting tonullindicates that this
                               View is not a pane. | 
setAccessibilityTraversalAfter
public void setAccessibilityTraversalAfter (int afterId)
Sets the id of a view that screen readers are requested to visit before this view.
For example, if view B should be visited after A, with B.setAccessibilityTraversalAfter(A), then this requests that screen readers visit and traverse view A before visiting view B.
Note: Views are visited in the order determined by the screen reader. Avoid explicitly manipulating focus order, as this may result in inconsistent user experiences between apps. Instead, use other semantics, such as restructuring the view hierarchy layout, to communicate order.
Setting this view to be after a view that is not important for accessibility, or if this view is not important for accessibility, means this method will have no effect if the service is not aware of unimportant views.
To avoid a risk of loops, set clear relationships between views. For example, if focus order should be B -> A, and B.setAccessibilityTraversalBefore(A), then also call A.setAccessibilityTraversalAfter(B).
Related XML Attributes:
| Parameters | |
|---|---|
| afterId | int: The id of a view this one succeeds in accessibility traversal. | 
setAccessibilityTraversalBefore
public void setAccessibilityTraversalBefore (int beforeId)
Sets the id of a view that screen readers are requested to visit after this view.
For example, if view B should be visited before view A, with B.setAccessibilityTraversalBefore(A), this requests that screen readers visit and traverse view B before visiting view A.
Note: Views are visited in the order determined by the screen reader. Avoid explicitly manipulating focus order, as this may result in inconsistent user experiences between apps. Instead, use other semantics, such as restructuring the view hierarchy layout, to communicate order.
Setting this view to be after a view that is not important for accessibility, or if this view is not important for accessibility, means this method will have no effect if the service is not aware of unimportant views.
To avoid a risk of loops, set clear relationships between views. For example, if focus order should be B -> A, and B.setAccessibilityTraversalBefore(A), then also call A.setAccessibilityTraversalAfter(B).
Related XML Attributes:
| Parameters | |
|---|---|
| beforeId | int: The id of a view this one precedes in accessibility traversal. | 
setActivated
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 | 
setAllowClickWhenDisabled
public void setAllowClickWhenDisabled (boolean clickableWhenDisabled)
Enables or disables click events for this view when disabled.
Related XML Attributes:
| Parameters | |
|---|---|
| clickableWhenDisabled | boolean: true to make the view clickable, false otherwise | 
setAllowedHandwritingDelegatePackage
public void setAllowedHandwritingDelegatePackage (String allowedPackageName)
Specifies that this view may act as a handwriting initiation delegator for a delegate editor view from the specified package. If this method is not called, delegators may only be used to initiate handwriting mode for a delegate editor view from the same package as the delegator view. This method allows specifying a different trusted package which may contain a delegate editor view linked to this delegator view.
This method has no effect unless setHandwritingDelegatorCallback(Runnable) is also called
 to configure this view to act as a handwriting delegator.
 
If this method is called on the delegator view, then setAllowedHandwritingDelegatorPackage(String) should also be called on the delegate editor view.
 
For example, to configure a delegator view in package 1:
delegatorView.setHandwritingDelegatorCallback(callback); delegatorView.setAllowedHandwritingDelegatePackage(package2);
delegateEditorView.setIsHandwritingDelegate(true); delegateEditorView.setAllowedHandwritingDelegatorPackage(package1);
| Parameters | |
|---|---|
| allowedPackageName | String: the package name of a delegate editor view linked to this delegator
     view, ornullto restore the default behavior of only allowing delegate editor
     views from the same package as this delegator view | 
setAllowedHandwritingDelegatorPackage
public void setAllowedHandwritingDelegatorPackage (String allowedPackageName)
Specifies that a view from the specified package may act as a handwriting delegator for this delegate editor view. If this method is not called, only views from the same package as this delegate editor view may act as a handwriting delegator. This method allows specifying a different trusted package which may contain a delegator view linked to this delegate editor view.
This method has no effect unless setIsHandwritingDelegate(boolean) is also called to
 configure this view to act as a handwriting delegate.
 
If this method is called on the delegate editor view, then setAllowedHandwritingDelegatePackage(String) should also be called on the delegator view.
| Parameters | |
|---|---|
| allowedPackageName | String: the package name of a delegator view linked to this delegate editor
     view, ornullto restore the default behavior of only allowing delegator views
     from the same package as this delegate editor view | 
setAlpha
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 a
 layer 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.M, LAYER_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.0f and 1.0f inclusive | 
setAnimation
public void setAnimation (Animation animation)
Sets the next animation to play for this view.
 If you want the animation to play immediately, use
 startAnimation(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. | 
setAnimationMatrix
public void setAnimationMatrix (Matrix matrix)
Changes the transformation matrix on the view. This is used in animation frameworks,
 such as Transition. When the animation finishes, the matrix
 should be cleared by calling this method with null as the matrix parameter.
 Application developers should use transformation methods like setRotation(float),
 setScaleX(float), setScaleX(float), setTranslationX(float)}
 and setTranslationY(float) (float)}} instead.
| Parameters | |
|---|---|
| matrix | Matrix: The matrix, null indicates that the matrix should be cleared. | 
See also:
setAutoHandwritingEnabled
public void setAutoHandwritingEnabled (boolean enabled)
Set whether this view enables automatic handwriting initiation.
 For a view with an active InputConnection, if auto handwriting is enabled then
 stylus movement within its view boundary will automatically trigger the handwriting mode.
 Check InputMethodManager.startStylusHandwriting(View) for
 more details about handwriting mode.
 If the View wants to initiate handwriting mode by itself, it can set this field to
 false and call
 InputMethodManager.startStylusHandwriting(View) when there
 is stylus movement detected.
 Note that this attribute has no effect on the View's children. For example, if a
 ViewGroup disables auto handwriting but its children set auto handwriting to true,
 auto handwriting will still work for the children, and vice versa.
Related XML Attributes:
| Parameters | |
|---|---|
| enabled | boolean: whether auto handwriting initiation is enabled for this view. | 
setAutofillHints
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_USERNAME, AUTOFILL_HINT_PASSWORD,
 AUTOFILL_HINT_EMAIL_ADDRESS,
 AUTOFILL_HINT_NAME,
 AUTOFILL_HINT_PHONE,
 AUTOFILL_HINT_POSTAL_ADDRESS, AUTOFILL_HINT_POSTAL_CODE,
 AUTOFILL_HINT_CREDIT_CARD_NUMBER, AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE,
 AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE,
 AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY,
 AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH or
 AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR.
Related XML Attributes:
| Parameters | |
|---|---|
| autofillHints | String: The autofill hints to set. If the array is emtpy,nullis set. | 
setAutofillId
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(android.view.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);
 NOTE: If this view is a descendant of an AdapterView, the system
 may reset its autofill id when this view is recycled. If the autofill ids need to be stable,
 they should be set again in
 Adapter.getView(int, android.view.View, android.view.ViewGroup).
| Parameters | |
|---|---|
| id | AutofillId: an autofill ID that is unique in theActivityhosting the view,
 ornullto reset it. Usually it's an id previously allocated to another view (and
 obtained throughgetAutofillId()), or a new value obtained throughAutofillManager.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
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
public void setBackgroundColor (int color)
Sets the background color for this view.
| Parameters | |
|---|---|
| color | int: the color of the background | 
setBackgroundDrawable
public void setBackgroundDrawable (Drawable background)
      This method was deprecated
      in API level 16.
    use setBackground(android.graphics.drawable.Drawable) instead
  
| Parameters | |
|---|---|
| background | Drawable | 
setBackgroundResource
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. | 
setBackgroundTintBlendMode
public void setBackgroundTintBlendMode (BlendMode blendMode)
Specifies the blending mode used to apply the tint specified by
 setBackgroundTintList(android.content.res.ColorStateList)} to the background
 drawable. The default mode is BlendMode.SRC_IN.
Related XML Attributes:
| Parameters | |
|---|---|
| blendMode | BlendMode: the blending mode used to apply the tint, may benullto clear tint | 
setBackgroundTintList
public void setBackgroundTintList (ColorStateList tint)
Applies a tint to the background drawable. Does not modify the current tint
 mode, which is BlendMode.SRC_IN by default.
 
 Subsequent calls to setBackground(android.graphics.drawable.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 benullto clear tint | 
setBackgroundTintMode
public void setBackgroundTintMode (PorterDuff.Mode tintMode)
Specifies the blending mode used to apply the tint specified by
 setBackgroundTintList(android.content.res.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 benullto clear tint | 
setBottom
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
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
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
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
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 reveal animation 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().
Related XML Attributes:
| Parameters | |
|---|---|
| clipToOutline | boolean | 
setContentCaptureSession
public void setContentCaptureSession (ContentCaptureSession contentCaptureSession)
Sets the (optional) ContentCaptureSession associated with this view.
 
This method should be called when you need to associate a ContentCaptureContext to
 the content capture events associated with this view or its view hierarchy (if it's a
 ViewGroup).
 
For example, if your activity is associated with a web domain, first you would need to set the context for the main DOM:
ContentCaptureSession mainSession = rootView.getContentCaptureSession(); mainSession.setContentCaptureContext(ContentCaptureContext.forLocusId(Uri.parse(myUrl));
Then if the page had an IFRAME, you would create a new session for it:
 
   ContentCaptureSession iframeSession = mainSession.createContentCaptureSession(
       ContentCaptureContext.forLocusId(Uri.parse(iframeUrl)));
   iframeView.setContentCaptureSession(iframeSession);
 | Parameters | |
|---|---|
| contentCaptureSession | ContentCaptureSession: a session created byContentCaptureSession.createContentCaptureSession(
        android.view.contentcapture.ContentCaptureContext).
 This value may benull. | 
setContentDescription
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".
 
This should omit role or state. Role refers to the kind of user-interface element the View is, such as a Button or Checkbox. State refers to a frequently changing property of the View, such as an On/Off state of a button or the audio level of a volume slider.
Content description updates are not frequent, and are used when the semantic content - not the state - of the element changes. For example, a Play button might change to a Pause button during music playback.
Related XML Attributes:
| Parameters | |
|---|---|
| contentDescription | CharSequence: The content description. | 
setContentSensitivity
public final void setContentSensitivity (int mode)
Sets content sensitivity mode to determine whether this view displays sensitive content (e.g. username, password etc.). The system will improve user privacy i.e. hide content drawn by a sensitive view from screen sharing and recording.
 The window hosting a sensitive view will be marked as secure during an active media
 projection session. This would be equivalent to applying
 WindowManager.LayoutParams.FLAG_SECURE to the window.
| Parameters | |
|---|---|
| mode | int:CONTENT_SENSITIVITY_AUTO,CONTENT_SENSITIVITY_NOT_SENSITIVEorCONTENT_SENSITIVITY_SENSITIVEValue isCONTENT_SENSITIVITY_AUTO,CONTENT_SENSITIVITY_SENSITIVE, orCONTENT_SENSITIVITY_NOT_SENSITIVE | 
setContextClickable
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
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 | boolean:trueto set this view to use a default focus
                                      highlight,falseotherwise. | 
setDrawingCacheBackgroundColor
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, android.graphics.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(android.graphics.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 | 
setDrawingCacheEnabled
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, android.graphics.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(android.graphics.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 calling
 getDrawingCache().
| Parameters | |
|---|---|
| enabled | boolean: true to enable the drawing cache, false otherwise | 
setDrawingCacheQuality
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, android.graphics.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(android.graphics.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 ofDRAWING_CACHE_QUALITY_AUTO,DRAWING_CACHE_QUALITY_LOW, orDRAWING_CACHE_QUALITY_HIGHValue isDRAWING_CACHE_QUALITY_LOW,DRAWING_CACHE_QUALITY_HIGH, orDRAWING_CACHE_QUALITY_AUTO | 
setDuplicateParentStateEnabled
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. | 
setElevation
public void setElevation (float elevation)
Sets the base elevation of this view, in pixels.
Related XML Attributes:
| Parameters | |
|---|---|
| elevation | float | 
setEnabled
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
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) or
 setHorizontalFadingEdgeEnabled(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
public void setFilterTouchesWhenObscured (boolean enabled)
Sets whether the framework should discard touches when the view's
 window is obscured by another visible window at the touched location.
 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
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(android.graphics.Rect) will be
 executed.  See that method for more details.
 
Note that if you are providing your own implementation of
 fitSystemWindows(android.graphics.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 offitSystemWindows(android.graphics.Rect)will be executed. | 
setFocusable
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. | 
setFocusable
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 ofNOT_FOCUSABLE,FOCUSABLE,
                  orFOCUSABLE_AUTO.
 Value isNOT_FOCUSABLE,FOCUSABLE, orFOCUSABLE_AUTO | 
See also:
setFocusableInTouchMode
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
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 | boolean:trueto set this view as the default-focus view,falseotherwise. | 
See also:
setForceDarkAllowed
public void setForceDarkAllowed (boolean allow)
Sets whether or not to allow force dark to apply to this view.
 Setting this to false will disable the auto-dark feature on everything this view
 draws, including any descendants.
 Setting this to true will allow this view to be automatically made dark, however
 a value of 'true' will not override any 'false' value in its parent chain nor will
 it prevent any 'false' in any of its children.
 The default behavior of force dark is also influenced by the Theme's
 isLightTheme attribute.
 If a theme is isLightTheme="false", then force dark is globally disabled for that theme.
| Parameters | |
|---|---|
| allow | boolean: Whether or not to allow force dark. | 
setForeground
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
public void setForegroundGravity (int gravity)
Describes how the foreground is positioned. Defaults to START and TOP.
Related XML Attributes:
| Parameters | |
|---|---|
| gravity | int: seeGravity | 
See also:
setForegroundTintBlendMode
public void setForegroundTintBlendMode (BlendMode blendMode)
Specifies the blending mode used to apply the tint specified by
 setForegroundTintList(android.content.res.ColorStateList)} to the background
 drawable. The default mode is BlendMode.SRC_IN.
Related XML Attributes:
| Parameters | |
|---|---|
| blendMode | BlendMode: the blending mode used to apply the tint, may benullto clear tint | 
setForegroundTintList
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(android.graphics.drawable.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 benullto clear tint | 
setForegroundTintMode
public void setForegroundTintMode (PorterDuff.Mode tintMode)
Specifies the blending mode used to apply the tint specified by
 setForegroundTintList(android.content.res.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 benullto clear tint | 
setFrameContentVelocity
public void setFrameContentVelocity (float pixelsPerSecond)
Set the current velocity of the View, we only track positive value. We will use the velocity information to adjust the frame rate when applicable. For example, we could potentially lower the frame rate when the velocity of a fling gesture becomes slower. Note that this is only valid till the next drawn frame.
| Parameters | |
|---|---|
| pixelsPerSecond | float: how many pixels move per second. | 
setHandwritingBoundsOffsets
public void setHandwritingBoundsOffsets (float offsetLeft, 
                float offsetTop, 
                float offsetRight, 
                float offsetBottom)Set the amount of offset applied to this view's stylus handwriting bounds. A positive offset will offset the edge outwards.The base handwriting bounds of a view is its visible bounds. The handwriting bounds offsets are applied to the base handwriting bounds to determine the final handwriting bounds.
This method is mainly used to enlarge the view's handwriting bounds for a better user experience.
 Note that when the view is clipped (e.g. the view is in a
 ScrollView), the offsets are applied after the view's handwriting
 bounds is clipped.
| Parameters | |
|---|---|
| offsetLeft | float: the amount of pixel offset applied to the left edge outwards of the view's
                   handwriting bounds. | 
| offsetTop | float: the amount of pixel offset applied to the top edge outwards of the view's
                  handwriting bounds. | 
| offsetRight | float: the amount of pixel offset applied to the right edge outwards of the
                    view's handwriting bounds. | 
| offsetBottom | float: the amount of pixel offset applied to the bottom edge outwards of the
                     view's handwriting bounds. | 
setHandwritingDelegateFlags
public void setHandwritingDelegateFlags (int flags)
Sets flags configuring the handwriting delegation behavior for this delegate editor view.
This method has no effect unless setIsHandwritingDelegate(boolean) is also called to
 configure this view to act as a handwriting delegate.
| Parameters | |
|---|---|
| flags | int:InputMethodManager.HANDWRITING_DELEGATE_FLAG_HOME_DELEGATOR_ALLOWEDor0Value is either0orInputMethodManager.HANDWRITING_DELEGATE_FLAG_HOME_DELEGATOR_ALLOWED | 
setHandwritingDelegatorCallback
public void setHandwritingDelegatorCallback (Runnable callback)
Sets a callback which should be called when a stylus MotionEvent occurs within this
 view's bounds. The callback will be called from the UI thread.
 
Setting a callback allows this view to act as a handwriting delegator, so that handwriting
 mode for a delegate editor view can be initiated by stylus movement on this delegator view.
 The callback implementation is expected to show and focus the delegate editor view. If a view
 which returns true for isHandwritingDelegate() creates an input connection
 while the same stylus MotionEvent sequence is ongoing, handwriting mode will be
 initiated for that view.
 
A common use case is a custom view which looks like a text editor but does not actually
 support text editing itself, and clicking on the custom view causes an EditText to be shown.
 To support handwriting initiation in this case, this method can be called on the custom view
 to configure it as a delegator. The EditText should call setIsHandwritingDelegate(boolean) to
 set it as a delegate. The callback implementation is typically the same as the click
 listener implementation which shows the EditText.
 
If null is passed, this view will no longer act as a handwriting initiation
 delegator.
| Parameters | |
|---|---|
| callback | Runnable: a callback which should be called when a stylusMotionEventoccurs
     within this view's bounds
 This value may benull. | 
setHapticFeedbackEnabled
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. | 
setHasTransientState
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
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
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:
setHorizontalScrollbarThumbDrawable
public void setHorizontalScrollbarThumbDrawable (Drawable drawable)
Defines the horizontal thumb drawable
Related XML Attributes:
| Parameters | |
|---|---|
| drawable | Drawable: This value may benull. | 
setHorizontalScrollbarTrackDrawable
public void setHorizontalScrollbarTrackDrawable (Drawable drawable)
Defines the horizontal track drawable
Related XML Attributes:
| Parameters | |
|---|---|
| drawable | Drawable: This value may benull. | 
setHovered
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
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
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. | 
setImportantForAutofill
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:
- 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.
- 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.
- 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_DESCENDANTS does not guarantee the view (and its
 children) will not be used for autofill purpose; for example, when the user explicitly
 makes an autofill request, all views are included in the ViewStructure, and starting in
 Build.VERSION_CODES.UPSIDE_DOWN_CAKE the system uses other factors along
 with importance to determine the autofill behavior. See isImportantForAutofill()
 for more details about how the View's importance for autofill is used.
Related XML Attributes:
setImportantForContentCapture
public void setImportantForContentCapture (int mode)
Sets the mode for determining whether this view is considered important for content capture.
The platform determines the importance for autofill automatically but you
 can use this method to customize the behavior. Typically, a view that provides text should
 be marked as IMPORTANT_FOR_CONTENT_CAPTURE_YES.
Related XML Attributes:
setIsCredential
public void setIsCredential (boolean isCredential)
Sets whether this view is a credential for Credential Manager purposes.
See isCredential().
Related XML Attributes:
| Parameters | |
|---|---|
| isCredential | boolean: Whether the view is a credential. | 
setIsHandwritingDelegate
public void setIsHandwritingDelegate (boolean isHandwritingDelegate)
Sets this view to be a handwriting delegate. If a delegate view creates an input connection
 while a stylus MotionEvent sequence from a delegator view is ongoing, handwriting
 mode will be initiated for the delegate view.
| Parameters | |
|---|---|
| isHandwritingDelegate | boolean: whether this view is a handwriting initiation delegate | 
setKeepScreenOn
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 setKEEP_SCREEN_ON. | 
See also:
setKeyboardNavigationCluster
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
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
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 isLAYER_TYPE_NONE | 
setLayerType
public void setLayerType (int layerType, 
                Paint paint)Specifies the type of layer backing this view. The layer can be
 LAYER_TYPE_NONE, LAYER_TYPE_SOFTWARE or
 LAYER_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_NONE,
 LAYER_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 ofLAYER_TYPE_NONE,LAYER_TYPE_SOFTWAREorLAYER_TYPE_HARDWAREValue isLAYER_TYPE_NONE,LAYER_TYPE_SOFTWARE, orLAYER_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 isLAYER_TYPE_NONE | 
setLayoutDirection
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_RTL,LAYOUT_DIRECTION_INHERIT,LAYOUT_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 defaultLAYOUT_DIRECTION_LTR.
 Value isLAYOUT_DIRECTION_LTR,LAYOUT_DIRECTION_RTL,LAYOUT_DIRECTION_INHERIT, orLAYOUT_DIRECTION_LOCALE | 
setLayoutParams
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
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. | 
setLeftTopRightBottom
public final void setLeftTopRightBottom (int left, 
                int top, 
                int right, 
                int bottom)Assign a size and position to this view. This method is meant to be used in animations only as it applies this position and size for the view only temporary and it can be changed back at any time by the layout.
| Parameters | |
|---|---|
| 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 | 
setLongClickable
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
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
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
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
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, orNO_IDif the framework should
 decide automatically. | 
setNextFocusDownId
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, orNO_IDif the framework should
 decide automatically. | 
setNextFocusForwardId
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, orNO_IDif the framework should
 decide automatically. | 
setNextFocusLeftId
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, orNO_IDif the framework should
 decide automatically. | 
setNextFocusRightId
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, orNO_IDif the framework should
 decide automatically. | 
setNextFocusUpId
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, orNO_IDif the framework should
 decide automatically. | 
setOnApplyWindowInsetsListener
public void setOnApplyWindowInsetsListener (View.OnApplyWindowInsetsListener listener)
Set an 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
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: TheOnCapturedPointerListenerto receive callbacks. | 
setOnClickListener
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 benull. | 
See also:
setOnContextClickListener
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 benull. | 
See also:
setOnCreateContextMenuListener
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
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 ofView.OnDragListener. | 
setOnFocusChangeListener
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
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
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
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
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 benull. | 
See also:
setOnReceiveContentListener
public void setOnReceiveContentListener (String[] mimeTypes, OnReceiveContentListener listener)
Sets the listener to be used to handle insertion of
 content into this view.
 
Depending on the type of view, this listener may be invoked for different scenarios. For
 example, for an editable TextView, this listener will be invoked for
 the following scenarios:
 
- Paste from the clipboard (e.g. "Paste" or "Paste as plain text" action in the insertion/selection menu)
- Content insertion from the keyboard (from InputConnection.commitContent)
- Drag and drop (drop events from onDragEvent(DragEvent))
- Autofill
- Selection replacement via Intent.ACTION_PROCESS_TEXT
When setting a listener, clients must also declare the accepted MIME types. The listener will still be invoked even if the MIME type of the content is not one of the declared MIME types (e.g. if the user pastes content whose type is not one of the declared MIME types). In that case, the listener may reject the content (defer to the default platform behavior) or execute some other fallback logic (e.g. show an appropriate message to the user). The declared MIME types serve as a hint to allow different features to optionally alter their behavior. For example, a soft keyboard may optionally choose to hide its UI for inserting GIFs for a particular input field if the MIME types set here for that field don't include "image/gif" or "image/*".
Note: MIME type matching in the Android framework is case-sensitive, unlike formal RFC
 MIME types. As a result, you should always write your MIME types with lowercase letters,
 or use Intent.normalizeMimeType(String) to ensure that it is converted to
 lowercase.
| Parameters | |
|---|---|
| mimeTypes | String: The MIME types accepted by the given listener. These may use patterns
                  such as "image/*", but may not start with a wildcard. This argument must
                  not be null or empty if a non-null listener is passed in. | 
| listener | OnReceiveContentListener: The listener to use. This can be null to reset to the default behavior. | 
setOnScrollChangeListener
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
public void setOnSystemUiVisibilityChangeListener (View.OnSystemUiVisibilityChangeListener l)
      This method was deprecated
      in API level 30.
    Use WindowInsets.isVisible(int) to find out about system bar visibilities
 by setting a OnApplyWindowInsetsListener on this view.
  
Set a listener to receive callbacks when the visibility of the system bar changes.
| Parameters | |
|---|---|
| l | View.OnSystemUiVisibilityChangeListener: TheOnSystemUiVisibilityChangeListenerto receive callbacks. | 
setOnTouchListener
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
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
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 | 
setOutlineSpotShadowColor
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
public void setOverScrollMode (int overScrollMode)
Set the over-scroll mode for this view. Valid over-scroll modes are
 OVER_SCROLL_ALWAYS, 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
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
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 | 
setPendingCredentialRequest
public void setPendingCredentialRequest (GetCredentialRequest request, OutcomeReceiver<GetCredentialResponse, GetCredentialException> callback)
Sets a CredentialManager request to retrieve credentials, when the user focuses
 on this given view.
 When this view is focused, the given request will be fired to
 CredentialManager, which will fetch content from all
 CredentialProviderService services on the
 device, and then display credential options to the user on a relevant UI
 (dropdown, keyboard suggestions etc.).
 When the user selects a credential, the final GetCredentialResponse will be
 propagated to the given callback. Developers are expected to handle the response
 programmatically and perform a relevant action, e.g. signing in the user.
 
 For details on how to  build a Credential Manager request, please see
 GetCredentialRequest.
 
 This API should be called at any point before the user focuses on the view, e.g. during
 onCreate of an Activity.
| Parameters | |
|---|---|
| request | GetCredentialRequest: the request to be fired when this view is entered
 This value cannot benull. | 
| callback | OutcomeReceiver: to be invoked when either a response or an exception needs to be
                 propagated for the given view
 This value cannot benull. | 
setPivotX
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. | 
setPivotY
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. | 
setPointerIcon
public void setPointerIcon (PointerIcon pointerIcon)
Set the pointer icon to be used for a mouse pointer in the current view.
 Passing null will restore the pointer icon to its default value.
 Note that setting the pointer icon using this method will only set it for events coming from
 a mouse device (i.e. with source InputDevice.SOURCE_MOUSE). To resolve
 the pointer icon for other device types like styluses, override
 onResolvePointerIcon(android.view.MotionEvent, int).
| Parameters | |
|---|---|
| pointerIcon | PointerIcon: A PointerIcon instance which will be shown when the mouse hovers. | 
setPreferKeepClear
public final void setPreferKeepClear (boolean preferKeepClear)
Set a preference to keep the bounds of this view clear from floating windows above this view's window. This informs the system that the view is considered a vital area for the user and that ideally it should not be covered. Setting this is only appropriate for UI where the user would likely take action to uncover it.
The system will try to respect this preference, but when not possible will ignore it.
 Note: This is independent from setPreferKeepClearRects(List). If both are set, both will
 be taken into account.
 
Related XML Attributes:
| Parameters | |
|---|---|
| preferKeepClear | boolean | 
setPreferKeepClearRects
public final void setPreferKeepClearRects (List<Rect> rects)
Set a preference to keep the provided rects clear from floating windows above this view's window. This informs the system that these rects are considered vital areas for the user and that ideally they should not be covered. Setting this is only appropriate for UI where the user would likely take action to uncover it.
The system will try to respect this preference, but when not possible will ignore it.
 Note: This is independent from setPreferKeepClear(boolean). If both are set, both will be
 taken into account.
 
| Parameters | |
|---|---|
| rects | List: A list of rects in this view's local coordinate system
 This value cannot benull. | 
setPressed
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:
setRenderEffect
public void setRenderEffect (RenderEffect renderEffect)
Configure the RenderEffect to apply to this View.
 This will apply a visual effect to the results of the View before it is drawn. For example if
 RenderEffect.createBlurEffect(float, float, RenderEffect, Shader.TileMode)
 is provided, the contents will be drawn in a separate layer, then this layer will be blurred
 when this View is drawn.
| Parameters | |
|---|---|
| renderEffect | RenderEffect: to be applied to the View. Passing null clears the previously configuredRenderEffect | 
setRequestedFrameRate
public void setRequestedFrameRate (float frameRate)
You can set the preferred frame rate for a View using a positive number or by specifying the preferred frame rate category using constants, including REQUESTED_FRAME_RATE_CATEGORY_NO_PREFERENCE, REQUESTED_FRAME_RATE_CATEGORY_LOW, REQUESTED_FRAME_RATE_CATEGORY_NORMAL, REQUESTED_FRAME_RATE_CATEGORY_HIGH. Keep in mind that the preferred frame rate affects the frame rate for the next frame, so use this method carefully. It's important to note that the preference is valid as long as the View is invalidated. Please also be aware that the requested frame rate will not propagate to child views when this API is used on a ViewGroup.
| Parameters | |
|---|---|
| frameRate | float: the preferred frame rate of the view. | 
setRevealOnFocusHint
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
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
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. | 
setRotationX
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. | 
setRotationY
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. | 
setSaveEnabled
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. | 
setSaveFromParentEnabled
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(android.util.SparseArray) is called directly on this view.
| Parameters | |
|---|---|
| enabled | boolean: Set to false to disable state saving, or true
 (the default) to allow it. | 
setScaleX
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
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
public void setScreenReaderFocusable (boolean screenReaderFocusable)
Sets whether this View should be a focusable element for screen readers and include non-focusable Views from its subtree when providing feedback.
 Note: this is similar to using android:focusable,
 but does not impact input focus behavior.
Related XML Attributes:
| Parameters | |
|---|---|
| screenReaderFocusable | boolean: Whether the view should be treated as a unit by screen reader
                              accessibility tools. | 
setScrollBarDefaultDelayBeforeFade
public void setScrollBarDefaultDelayBeforeFade (int scrollBarDefaultDelayBeforeFade)
Define the delay before scrollbars fade.
Related XML Attributes:
| Parameters | |
|---|---|
| scrollBarDefaultDelayBeforeFade | int: - the delay before scrollbars fade | 
setScrollBarFadeDuration
public void setScrollBarFadeDuration (int scrollBarFadeDuration)
Define the scrollbar fade duration.
Related XML Attributes:
| Parameters | |
|---|---|
| scrollBarFadeDuration | int: - the scrollbar fade duration, in milliseconds | 
setScrollBarSize
public void setScrollBarSize (int scrollBarSize)
Define the scrollbar size.
Related XML Attributes:
| Parameters | |
|---|---|
| scrollBarSize | int: - the scrollbar size | 
setScrollBarStyle
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 isSCROLLBARS_INSIDE_OVERLAY,SCROLLBARS_INSIDE_INSET,SCROLLBARS_OUTSIDE_OVERLAY, orSCROLLBARS_OUTSIDE_INSET | 
setScrollCaptureCallback
public final void setScrollCaptureCallback (ScrollCaptureCallback callback)
Sets the callback to receive scroll capture requests. This component is the adapter between the scroll capture API and application UI code. If no callback is set, the system may provide an implementation. Any value provided here will take precedence over a system version.
 This view will be ignored when SCROLL_CAPTURE_HINT_EXCLUDE is set in its scrollCaptureHint, regardless whether a callback has been set.
 
 It is recommended to set the scroll capture hint SCROLL_CAPTURE_HINT_INCLUDE when
 setting a custom callback to help ensure it is selected as the target.
| Parameters | |
|---|---|
| callback | ScrollCaptureCallback: the new callback to assign
 This value may benull. | 
setScrollCaptureHint
public void setScrollCaptureHint (int hint)
Sets the scroll capture hint for this View. These flags affect the search for a potential scroll capture targets.
| Parameters | |
|---|---|
| hint | int: the scrollCaptureHint flags value to set
 Value is either0or a combination ofSCROLL_CAPTURE_HINT_AUTO,SCROLL_CAPTURE_HINT_EXCLUDE,SCROLL_CAPTURE_HINT_INCLUDE, andSCROLL_CAPTURE_HINT_EXCLUDE_DESCENDANTS | 
setScrollContainer
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
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: | 
| mask | int: Value is either0or a combination ofSCROLL_INDICATOR_TOP,SCROLL_INDICATOR_BOTTOM,SCROLL_INDICATOR_LEFT,SCROLL_INDICATOR_RIGHT,SCROLL_INDICATOR_START, andSCROLL_INDICATOR_END | 
setScrollIndicators
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, or0to disable all indicators
 Value is either0or a combination ofSCROLL_INDICATOR_TOP,SCROLL_INDICATOR_BOTTOM,SCROLL_INDICATOR_LEFT,SCROLL_INDICATOR_RIGHT,SCROLL_INDICATOR_START, andSCROLL_INDICATOR_END | 
setScrollX
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
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
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
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
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. | 
setStateDescription
public void setStateDescription (CharSequence stateDescription)
Sets the View's state description.
 
A state description briefly describes the states of the view and is primarily used for accessibility support to determine how the states of a view should be presented to the user. It is a supplement to the boolean states (for example, checked/unchecked) and it is used for customized state description (for example, "wifi, connected, three bars"). State description changes frequently while content description should change less often. State description should be localized. For android widgets which have default state descriptions, app developers can call this method to override the state descriptions. Setting state description to null restores the default behavior.
| Parameters | |
|---|---|
| stateDescription | CharSequence: The state description.
 This value may benull. | 
setStateListAnimator
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:
setSupplementalDescription
public void setSupplementalDescription (CharSequence supplementalDescription)
Sets the View's supplemental description.
 
 A supplemental description provides
 brief supplemental information for this node, such as the purpose of the node when
 that purpose is not conveyed within its textual representation. For example, if a
 dropdown select has a purpose of setting font family, the supplemental description
 could be "font family". If this node has children, its supplemental description serves
 as additional information and is not intended to replace any existing information
 in the subtree. This is different from the setContentDescription(java.lang.CharSequence)
 in that this description is purely supplemental while a content description may be used
 to replace a description for a node or its subtree that an assistive technology
 would otherwise compute based on other properties of the node and its descendants.
 
This should omit role or state. Role refers to the kind of user-interface element the View is, such as a Button or Checkbox. State refers to a frequently changing property of the View, such as an On/Off state of a button or the audio level of a volume slider.
Related XML Attributes:
| Parameters | |
|---|---|
| supplementalDescription | CharSequence: The supplemental description.
 This value may benull. | 
setSystemGestureExclusionRects
public void setSystemGestureExclusionRects (List<Rect> rects)
Sets a list of areas within this view's post-layout coordinate space where the system
 should not intercept touch or other pointing device gestures. This method should
 be called by onLayout(boolean, int, int, int, int) or onDraw(android.graphics.Canvas).
 
Use this to tell the system which specific sub-areas of a view need to receive gesture
 input in order to function correctly in the presence of global system gestures that may
 conflict. For example, if the system wishes to capture swipe-in-from-screen-edge gestures
 to provide system-level navigation functionality, a view such as a navigation drawer
 container can mark the left (or starting) edge of itself as requiring gesture capture
 priority using this API. The system may then choose to relax its own gesture recognition
 to allow the app to consume the user's gesture. It is not necessary for an app to register
 exclusion rects for broadly spanning regions such as the entirety of a
 ScrollView or for simple press and release click targets such as
 Button. Mark an exclusion rect when interacting with a view requires
 a precision touch gesture in a small area in either the X or Y dimension, such as
 an edge swipe or dragging a SeekBar thumb.
Note: the system will put a limit of 200dp on the vertical extent of the
 exclusions it takes into account. The limit does not apply while the navigation
 bar is stickily hidden, nor to the
 input method and
 home activity.
 
| Parameters | |
|---|---|
| rects | List: A list of precision gesture regions that this view needs to function correctly
 This value cannot benull. | 
setSystemUiVisibility
public void setSystemUiVisibility (int visibility)
      This method was deprecated
      in API level 30.
    SystemUiVisibility flags are deprecated. Use WindowInsetsController
 instead.
  
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(android.graphics.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 flagsSYSTEM_UI_FLAG_LOW_PROFILE,SYSTEM_UI_FLAG_HIDE_NAVIGATION,SYSTEM_UI_FLAG_FULLSCREEN,SYSTEM_UI_FLAG_LAYOUT_STABLE,SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION,SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN,SYSTEM_UI_FLAG_IMMERSIVE,
 andSYSTEM_UI_FLAG_IMMERSIVE_STICKY. | 
setTag
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
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
public void setTextAlignment (int textAlignment)
Set the text alignment.
Related XML Attributes:
| Parameters | |
|---|---|
| textAlignment | int: The text alignment to set. Should be one ofTEXT_ALIGNMENT_INHERIT,TEXT_ALIGNMENT_GRAVITY,TEXT_ALIGNMENT_CENTER,TEXT_ALIGNMENT_TEXT_START,TEXT_ALIGNMENT_TEXT_END,TEXT_ALIGNMENT_VIEW_START,TEXT_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 defaultTEXT_ALIGNMENT_GRAVITY.
 Value isTEXT_ALIGNMENT_INHERIT,TEXT_ALIGNMENT_GRAVITY,TEXT_ALIGNMENT_CENTER,TEXT_ALIGNMENT_TEXT_START,TEXT_ALIGNMENT_TEXT_END,TEXT_ALIGNMENT_VIEW_START, orTEXT_ALIGNMENT_VIEW_END | 
setTextDirection
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_STRONG,TEXT_DIRECTION_ANY_RTL,TEXT_DIRECTION_LTR,TEXT_DIRECTION_RTL,TEXT_DIRECTION_LOCALETEXT_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 defaultTEXT_DIRECTION_FIRST_STRONG. | 
setTooltipText
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
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
public void setTouchDelegate (TouchDelegate delegate)
Sets the TouchDelegate for this View.
| Parameters | |
|---|---|
| delegate | TouchDelegate | 
setTransitionAlpha
public void setTransitionAlpha (float alpha)
This property is intended only for use by the Fade transition, which animates it to produce a visual translucency that does not side-effect (or get affected by) the real alpha property. This value is composited with the other alpha value (and the AlphaAnimation value, when that is present) to produce a final visual translucency result, which is what is passed into the DisplayList.
| Parameters | |
|---|---|
| alpha | float | 
setTransitionName
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. | 
setTransitionVisibility
public void setTransitionVisibility (int visibility)
Changes the visibility of this View without triggering any other changes. This should only
 be used by animation frameworks, such as Transition, where
 visibility changes should not adjust focus or trigger a new layout. Application developers
 should use setVisibility(int) instead to ensure that the hierarchy is correctly updated.
 
Only call this method when a temporary visibility must be applied during an
 animation and the original visibility value is guaranteed to be reset after the
 animation completes. Use setVisibility(int) in all other cases.
| Parameters | |
|---|---|
| visibility | int: One ofVISIBLE,INVISIBLE, orGONE.
 Value isVISIBLE,INVISIBLE, orGONE | 
See also:
setTranslationX
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
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
public void setTranslationZ (float translationZ)
Sets the depth location of this view relative to its elevation.
Related XML Attributes:
| Parameters | |
|---|---|
| translationZ | float | 
setVerticalFadingEdgeEnabled
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
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
public void setVerticalScrollbarPosition (int position)
Set the position of the vertical scroll bar. Should be one of
 SCROLLBAR_POSITION_DEFAULT, SCROLLBAR_POSITION_LEFT or
 SCROLLBAR_POSITION_RIGHT.
| Parameters | |
|---|---|
| position | int: Where the vertical scroll bar should be positioned. | 
setVerticalScrollbarThumbDrawable
public void setVerticalScrollbarThumbDrawable (Drawable drawable)
Defines the vertical scrollbar thumb drawable
Related XML Attributes:
| Parameters | |
|---|---|
| drawable | Drawable: This value may benull. | 
setVerticalScrollbarTrackDrawable
public void setVerticalScrollbarTrackDrawable (Drawable drawable)
Defines the vertical scrollbar track drawable
Related XML Attributes:
| Parameters | |
|---|---|
| drawable | Drawable: This value may benull. | 
setViewTranslationCallback
public void setViewTranslationCallback (ViewTranslationCallback callback)
Sets a ViewTranslationCallback that is used to display/hide the translated
 information. Developers can provide the customized implementation for show/hide translated
 information.
| Parameters | |
|---|---|
| callback | ViewTranslationCallback: aViewTranslationCallbackthat is used to control how to display the
 translated information
 This value cannot benull. | 
setVisibility
public void setVisibility (int visibility)
Set the visibility state of this view.
Related XML Attributes:
| Parameters | |
|---|---|
| visibility | int: One ofVISIBLE,INVISIBLE, orGONE.
 Value isVISIBLE,INVISIBLE, orGONE | 
setWillNotCacheDrawing
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, android.graphics.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(android.graphics.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
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 | 
setWindowInsetsAnimationCallback
public void setWindowInsetsAnimationCallback (WindowInsetsAnimation.Callback callback)
Sets a WindowInsetsAnimation.Callback to be notified about animations of windows that
 cause insets.
 
 The callback's dispatch mode will affect whether animation callbacks are dispatched to the children of
 this view.
 
| Parameters | |
|---|---|
| callback | WindowInsetsAnimation.Callback: The callback to set.
 This value may benull. | 
setX
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
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
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
public boolean showContextMenu ()
Shows the context menu for this view.
| Returns | |
|---|---|
| boolean | trueif the context menu was shown,falseotherwise | 
See also:
showContextMenu
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, orFloat.NaNto disable anchoring | 
| y | float: the Y coordinate in pixels relative to the view to which the
          menu should be anchored, orFloat.NaNto disable anchoring | 
| Returns | |
|---|---|
| boolean | trueif the context menu was shown,falseotherwise | 
startActionMode
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 ofActionMode.TYPE_PRIMARYorActionMode.TYPE_FLOATING. | 
| Returns | |
|---|---|
| ActionMode | The new action mode if it is started, null otherwise | 
See also:
startActionMode
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 | 
startAnimation
public void startAnimation (Animation animation)
Start the specified animation now.
| Parameters | |
|---|---|
| animation | Animation: the animation to start now | 
startDrag
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
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 DragShadowBuilder.onProvideShadowMetrics(Point, Point)
 to get metrics for the drag shadow, and then calls the object's
 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 DragEvent object 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: AClipDataobject pointing to the data to be
 transferred by the drag and drop operation. | 
| shadowBuilder | View.DragShadowBuilder: AView.DragShadowBuilderobject for building the
 drag shadow. | 
| myLocalState | Object: AnObjectcontaining local data about the drag and
 drop operation. When dispatching drag events to views in the same activity this object
 will be available throughDragEvent.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 | trueif the method completes successfully, orfalseif it fails anywhere. Returningfalsemeans the system was unable to
 do a drag because of another ongoing operation or some other reasons. | 
startNestedScroll
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 ofSCROLL_AXIS_HORIZONTALand/orSCROLL_AXIS_VERTICAL. | 
| Returns | |
|---|---|
| boolean | true if a cooperative parent was found and nested scrolling has been enabled for the current gesture. | 
stopNestedScroll
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
public String toString ()
Returns a string representation of the object.
| Returns | |
|---|---|
| String | a string representation of the object. | 
transformMatrixToGlobal
public void transformMatrixToGlobal (Matrix matrix)
Modifies the input matrix such that it maps view-local coordinates to on-screen coordinates.
| Parameters | |
|---|---|
| matrix | Matrix: input matrix to modify
 This value cannot benull. | 
transformMatrixToLocal
public void transformMatrixToLocal (Matrix matrix)
Modifies the input matrix such that it maps on-screen coordinates to view-local coordinates.
| Parameters | |
|---|---|
| matrix | Matrix: input matrix to modify
 This value cannot benull. | 
unscheduleDrawable
public void unscheduleDrawable (Drawable who, Runnable what)
Cancels a scheduled action on a drawable.
| Parameters | |
|---|---|
| who | Drawable: the recipient of the action
 This value cannot benull. | 
| what | Runnable: the action to cancel
 This value cannot benull. | 
unscheduleDrawable
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
public final void updateDragShadow (View.DragShadowBuilder shadowBuilder)
Updates the drag shadow for the ongoing drag and drop operation.
| Parameters | |
|---|---|
| shadowBuilder | View.DragShadowBuilder: AView.DragShadowBuilderobject for building the
 new drag shadow. | 
willNotCacheDrawing
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, android.graphics.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(android.graphics.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
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
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 if an animation
        is scheduled | 
| Returns | |
|---|---|
| boolean | true if the animation is played, false otherwise | 
awakenScrollBars
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 | 
awakenScrollBars
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 | 
computeHorizontalScrollExtent
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 | 
computeHorizontalScrollOffset
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 | 
computeHorizontalScrollRange
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 | 
computeVerticalScrollExtent
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 | 
computeVerticalScrollOffset
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 | 
computeVerticalScrollRange
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. | 
dispatchDraw
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
 This value cannot benull. | 
dispatchGenericFocusedEvent
protected boolean dispatchGenericFocusedEvent (MotionEvent event)
Dispatch a generic motion event to the currently focused view.
 Do not call this method directly.
 Call dispatchGenericMotionEvent(android.view.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
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(android.view.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
protected boolean dispatchHoverEvent (MotionEvent event)
Dispatch a hover event.
 Do not call this method directly.
 Call dispatchGenericMotionEvent(android.view.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
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. | 
dispatchSaveInstanceState
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. | 
dispatchSetActivated
protected void dispatchSetActivated (boolean activated)
Dispatch setActivated to all of this View's children.
| Parameters | |
|---|---|
| activated | boolean: The new activated state | 
See also:
dispatchSetPressed
protected void dispatchSetPressed (boolean pressed)
Dispatch setPressed to all of this View's children.
| Parameters | |
|---|---|
| pressed | boolean: The new pressed state | 
See also:
dispatchSetSelected
protected void dispatchSetSelected (boolean selected)
Dispatch setSelected to all of this View's children.
| Parameters | |
|---|---|
| selected | boolean: The new selected state | 
See also:
dispatchVisibilityChanged
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 cannot benull. | 
| visibility | int: The new visibility of changedView:VISIBLE,INVISIBLEorGONE.
 Value isVISIBLE,INVISIBLE, orGONE | 
drawableStateChanged
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
protected boolean fitSystemWindows (Rect insets)
      This method was deprecated
      in API level 20.
    As of API 20 use dispatchApplyWindowInsets(android.view.WindowInsets) to apply
 insets to views. Views should override onApplyWindowInsets(android.view.WindowInsets) or use
 setOnApplyWindowInsetsListener(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 toBuild.VERSION_CODES.JELLY_BEANyou must not modify
 the insets or else you and Android will be unhappy. | 
| Returns | |
|---|---|
| boolean | trueif this view applied the insets and it should not
 continue propagating further down the hierarchy,falseotherwise. | 
getBottomFadingEdgeStrength
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
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
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 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
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
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
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
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
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
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
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
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
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
protected int getWindowAttachCount ()
| Returns | |
|---|---|
| int | The number of times this view has been attached to a window | 
isPaddingOffsetRequired
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. | 
mergeDrawableStates
protected static int[] mergeDrawableStates (int[] baseState, 
                int[] additionalState)Merge your own state values in additionalState into the base
 state values baseState that were returned by
 onCreateDrawableState(int).
| Parameters | |
|---|---|
| baseState | int: The base state values returned byonCreateDrawableState(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
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.
onAnimationStart
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.
onAttachedToWindow
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
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
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
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 Drawablestate of
 the view. | 
See also:
onDetachedFromWindow
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
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:VISIBLEorINVISIBLE.
 Value isVISIBLE,INVISIBLE, orGONE | 
onDraw
protected void onDraw (Canvas canvas)
Implement this to do your drawing.
| Parameters | |
|---|---|
| canvas | Canvas: the canvas on which the background will be drawn
 This value cannot benull. | 
onDrawScrollBars
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
 This value cannot benull. | 
See also:
onFinishInflate
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
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 areFOCUS_UP,FOCUS_DOWN,FOCUS_LEFT,FOCUS_RIGHT,FOCUS_FORWARD, orFOCUS_BACKWARD.
                  It may not always apply, in which case use the default.
 Value isFOCUS_BACKWARD,FOCUS_FORWARD,FOCUS_LEFT,FOCUS_UP,FOCUS_RIGHT, orFOCUS_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 benullotherwise. | 
onLayout
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
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. | 
onOverScrolled
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
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 byonSaveInstanceState(). | 
onSaveInstanceState
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. | 
onScrollChanged
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
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
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
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 bethisor an ancestor view.
 This value cannot benull. | 
| visibility | int: The new visibility, one ofVISIBLE,INVISIBLEorGONE.
 Value isVISIBLE,INVISIBLE, orGONE | 
onWindowVisibilityChanged
protected void onWindowVisibilityChanged (int visibility)
Called when the window containing has change its visibility
 (between GONE, INVISIBLE, 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.
 Value isVISIBLE,INVISIBLE, orGONE | 
overScrollBy
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
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 byMEASURED_SIZE_MASKandMEASURED_STATE_TOO_SMALL. | 
| measuredHeight | int: The measured height of this view.  May be a complex
 bit mask as defined byMEASURED_SIZE_MASKandMEASURED_STATE_TOO_SMALL. | 
verifyDrawable
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 cannot benull. | 
| Returns | |
|---|---|
| boolean | boolean If true then the Drawable is being displayed in the view; else false and it is not allowed to animate. | 
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-09-17 UTC.
