| java.lang.Object | |
| ↳ | android.view.View | 
   Known Direct Subclasses
  
 | 
   Known Indirect Subclasses
  
          
            
            
              
                AbsListView,
              
              
            
              
                AbsSeekBar,
              
              
            
              
                AbsSpinner,
              
              
            
              
                AbsoluteLayout,
              
              
            
              
              
            
              
              
            
              
              
            
              
              
            
              
                ActionMenuView,
              
              
            
              
              
            
              
              
            
              
              
            
              
                AdapterView<T extends Adapter>,
              
              
            
              
                AdapterViewAnimator,
              
              
            
              
                AdapterViewFlipper,
              
              and
                99 others.
              
            
          
       
      
   | 
 This class represents the basic building block for user interface components. A View
 occupies a rectangular area on the screen and is responsible for drawing and
 event handling. View is the base class for widgets, which are
 used to create interactive UI components (buttons, text fields, etc.). The
 ViewGroup subclass is the base class for layouts, which
 are invisible containers that hold other Views (or other ViewGroups) and define
 their layout properties.
 
For information about using this class to develop your application's user interface, read the User Interface developer guide.
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:
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.requestFocus().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.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.
 
 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 touch screen 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. | 
 <Button
     android:id="@+id/my_button"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="@string/my_button_text"/>
 
      Button myButton = (Button) 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.
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.)
 
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 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
 View.MeasureSpec class is used by views to tell their parents how they
 want to be measured and positioned. The base LayoutParams class just
 describes how big the view wants to be for both width and height. For each
 dimension, it can specify one of:
 
MeasureSpecs are used to push requirements down the tree from parent to child. A MeasureSpec can be in one of three modes:
 To initiate a layout, call requestLayout(). This method is typically
 called by a view on itself when it believes that is can no longer fit within
 its current bounds.
 
Drawing 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().
 
The basic cycle of a view is as follows:
requestLayout().invalidate().requestLayout() or invalidate() were called,
 the framework will take care of measuring, laying out, and drawing the tree
 as appropriate.Note: The entire view tree is single threaded. You must always be on
 the UI thread when calling any method on any view.
 If you are doing work on other threads and want to update the state of a view
 from that thread, you should use a Handler.
 
 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().
 
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.
 
 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.
 
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.
 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.
 
 Starting with Android 3.0, the preferred way of animating views is to use the
 android.animation package APIs. These Animator-based
 classes change actual properties of the View object, such as alpha and
 translationX. This behavior is contrasted to that of the pre-3.0
 Animation-based classes, which instead animate only
 how the view is drawn on the display. In particular, the ViewPropertyAnimator class
 makes animating these View properties particularly easy and efficient.
 
 Alternatively, you can use the pre-3.0 animation classes to animate how Views are rendered.
 You can attach an Animation object to a view using
 setAnimation(Animation) or
 startAnimation(Animation). The animation can alter the scale,
 rotation, translation and alpha of a view over time. If the animation is
 attached to a view that has children, the animation will affect the entire
 subtree rooted by that node. When an animation is started, the framework will
 take care of redrawing the appropriate views until the animation completes.
 
Sometimes it is essential that an application be able to verify that an action is being performed with the full knowledge and consent of the user, such as granting a permission request, making a purchase or clicking on an advertisement. Unfortunately, a malicious application could try to spoof the user into performing these actions, unaware, by concealing the intended purpose of the view. As a remedy, the framework offers a touch filtering mechanism that can be used to improve the security of views that provide access to sensitive functionality.
 To enable touch filtering, call setFilterTouchesWhenObscured(boolean) or set the
 android:filterTouchesWhenObscured layout attribute to true.  When enabled, the framework
 will discard touches that are received whenever the view's window is obscured by
 another visible window.  As a result, the view will not receive touches whenever a
 toast, dialog or other window appears above the view's window.
 
 For more fine-grained control over security, consider overriding the
 onFilterTouchEventForSecurity(MotionEvent) method to implement your own
 security policy. See also FLAG_WINDOW_IS_OBSCURED.
 
| Nested Classes | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| View.AccessibilityDelegate | 
         
 This class represents a delegate that can be registered in a   | 
    ||||||||||
| View.BaseSavedState | 
        Base class for derived classes that want to save and restore their own
 state in onSaveInstanceState(). 
        
    
       | 
    ||||||||||
| View.DragShadowBuilder | Creates an image that the system displays during the drag and drop operation. | ||||||||||
| View.MeasureSpec | A MeasureSpec encapsulates the layout requirements passed from parent to child. | ||||||||||
| View.OnApplyWindowInsetsListener | Listener for applying window insets on a view in a custom way. | ||||||||||
| View.OnAttachStateChangeListener | Interface definition for a callback to be invoked when this view is attached or detached from its window. | ||||||||||
| View.OnClickListener | Interface definition for a callback to be invoked when a view is clicked. | ||||||||||
| View.OnContextClickListener | Interface definition for a callback to be invoked when a view is context clicked. | ||||||||||
| View.OnCreateContextMenuListener | Interface definition for a callback to be invoked when the context menu for this view is being built. | ||||||||||
| View.OnDragListener | Interface definition for a callback to be invoked when a drag is being dispatched to this view. | ||||||||||
| View.OnFocusChangeListener | Interface definition for a callback to be invoked when the focus state of a view changed. | ||||||||||
| View.OnGenericMotionListener | Interface definition for a callback to be invoked when a generic motion event is dispatched to this view. | ||||||||||
| View.OnHoverListener | Interface definition for a callback to be invoked when a hover event is dispatched to this view. | ||||||||||
| View.OnKeyListener | Interface definition for a callback to be invoked when a hardware key event is dispatched to this view. | ||||||||||
| View.OnLayoutChangeListener | Interface definition for a callback to be invoked when the layout bounds of a view changes due to layout processing. | ||||||||||
| View.OnLongClickListener | Interface definition for a callback to be invoked when a view has been clicked and held. | ||||||||||
| View.OnScrollChangeListener | Interface definition for a callback to be invoked when the scroll X or Y positions of a view change. | ||||||||||
| View.OnSystemUiVisibilityChangeListener | Interface definition for a callback to be invoked when the status bar changes visibility. | ||||||||||
| View.OnTouchListener | Interface definition for a callback to be invoked when a touch event is dispatched to this view. | ||||||||||
| XML Attributes | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| android:accessibilityLiveRegion | setAccessibilityLiveRegion(int) | Indicates to accessibility services whether the user should be notified when this view changes. | |||||||||
| android:accessibilityTraversalAfter | setAccessibilityTraversalAfter(int) | Sets the id of a view after which this one is visited in accessibility traversal. | |||||||||
| android:accessibilityTraversalBefore | setAccessibilityTraversalBefore(int) | Sets the id of a view before which this one is visited in accessibility traversal. | |||||||||
| android:alpha | setAlpha(float) | alpha property of the view, as a value between 0 (completely transparent) and 1 (completely opaque). | |||||||||
| android:background | setBackgroundResource(int) | A drawable to use as the background. | |||||||||
| android:backgroundTint | setBackgroundTintList(ColorStateList) | Tint to apply to the background. | |||||||||
| android:backgroundTintMode | setBackgroundTintMode(PorterDuff.Mode) | Blending mode used to apply the background tint. | |||||||||
| android:clickable | setClickable(boolean) | Defines whether this view reacts to click events. | |||||||||
| android:contentDescription | setContentDescription(CharSequence) | Defines text that briefly describes content of the view. | |||||||||
| android:contextClickable | setContextClickable(boolean) | Defines whether this view reacts to context click events. | |||||||||
| android:drawingCacheQuality | setDrawingCacheQuality(int) | 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 | setElevation(float) | 
          base z depth of the view 
           Must be a dimension value, which is a floating point number appended with a unit such as "  | 
    |||||||||
| android:fadeScrollbars | setScrollbarFadingEnabled(boolean) | Defines whether to fade out scrollbars when they are not in use. | |||||||||
| android:fadingEdgeLength | getVerticalFadingEdgeLength() | Defines the length of the fading edges. | |||||||||
| android:filterTouchesWhenObscured | setFilterTouchesWhenObscured(boolean) | Specifies whether to filter touches when the view's window is obscured by another visible window. | |||||||||
| android:fitsSystemWindows | setFitsSystemWindows(boolean) | Boolean internal attribute to adjust view layout based on system windows such as the status bar. | |||||||||
| android:focusable | setFocusable(boolean) | Boolean that controls whether a view can take focus. | |||||||||
| android:focusableInTouchMode | setFocusableInTouchMode(boolean) | Boolean that controls whether a view can take focus while in touch mode. | |||||||||
| android:foreground | setForeground(Drawable) | Defines the drawable to draw over the content. | |||||||||
| android:foregroundGravity | setForegroundGravity(int) | Defines the gravity to apply to the foreground drawable. | |||||||||
| android:foregroundTint | setForegroundTintList(ColorStateList) | Tint to apply to the foreground. | |||||||||
| android:foregroundTintMode | setForegroundTintMode(PorterDuff.Mode) | Blending mode used to apply the foreground tint. | |||||||||
| android:hapticFeedbackEnabled | setHapticFeedbackEnabled(boolean) | Boolean that controls whether a view should have haptic feedback enabled for events such as long presses. | |||||||||
| android:id | setId(int) | 
          Supply an identifier name for this view, to later retrieve it
             with View.findViewById() or
             Activity.findViewById(). 
          
    
         | 
    |||||||||
| android:importantForAccessibility | setImportantForAccessibility(int) | Controls how 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. | |||||||||
| android:isScrollContainer | setScrollContainer(boolean) | 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 | setKeepScreenOn(boolean) | Controls whether the view's window should keep the screen on while visible. | |||||||||
| android:layerType | setLayerType(int,Paint) | Specifies the type of layer backing this view. | |||||||||
| android:layoutDirection | setLayoutDirection(int) | Defines the direction of layout drawing. | |||||||||
| android:longClickable | setLongClickable(boolean) | Defines whether this view reacts to long click events. | |||||||||
| android:minHeight | setMinimumHeight(int) | Defines the minimum height of the view. | |||||||||
| android:minWidth | setMinimumWidth(int) | Defines the minimum width of the view. | |||||||||
| android:nextFocusDown | setNextFocusDownId(int) | 
          Defines the next view to give focus to when the next focus is
             FOCUS_DOWN
             If the reference refers to a view that does not exist or is part
             of a hierarchy that is invisible, a RuntimeException
             will result when the reference is accessed. 
          
    
         | 
    |||||||||
| android:nextFocusForward | setNextFocusForwardId(int) | 
          Defines the next view to give focus to when the next focus is
             FOCUS_FORWARD
             If the reference refers to a view that does not exist or is part
             of a hierarchy that is invisible, a RuntimeException
             will result when the reference is accessed. 
          
    
         | 
    |||||||||
| android:nextFocusLeft | setNextFocusLeftId(int) | 
          Defines the next view to give focus to when the next focus is
             FOCUS_LEFT. 
          
    
         | 
    |||||||||
| android:nextFocusRight | setNextFocusRightId(int) | 
          Defines the next view to give focus to when the next focus is
             FOCUS_RIGHT
             If the reference refers to a view that does not exist or is part
             of a hierarchy that is invisible, a RuntimeException
             will result when the reference is accessed. 
          
    
         | 
    |||||||||
| android:nextFocusUp | setNextFocusUpId(int) | 
          Defines the next view to give focus to when the next focus is
             FOCUS_UP
             If the reference refers to a view that does not exist or is part
             of a hierarchy that is invisible, a RuntimeException
             will result when the reference is accessed. 
          
    
         | 
    |||||||||
| android:onClick | Name of the method in this View's context to invoke when the view is clicked. | ||||||||||
| android:padding | setPaddingRelative(int,int,int,int) | Sets the padding, in pixels, of all four edges. | |||||||||
| android:paddingBottom | setPaddingRelative(int,int,int,int) | 
          Sets the padding, in pixels, of the bottom edge; see padding. 
          
    
         | 
    |||||||||
| android:paddingEnd | setPaddingRelative(int,int,int,int) | 
          Sets the padding, in pixels, of the end edge; see padding. 
          
    
         | 
    |||||||||
| android:paddingLeft | setPadding(int,int,int,int) | 
          Sets the padding, in pixels, of the left edge; see padding. 
          
    
         | 
    |||||||||
| android:paddingRight | setPadding(int,int,int,int) | 
          Sets the padding, in pixels, of the right edge; see padding. 
          
    
         | 
    |||||||||
| android:paddingStart | setPaddingRelative(int,int,int,int) | 
          Sets the padding, in pixels, of the start edge; see padding. 
          
    
         | 
    |||||||||
| android:paddingTop | setPaddingRelative(int,int,int,int) | 
          Sets the padding, in pixels, of the top edge; see padding. 
          
    
         | 
    |||||||||
| android:requiresFadingEdge | setVerticalFadingEdgeEnabled(boolean) | Defines which edges should be faded on scrolling. | |||||||||
| android:rotation | setRotation(float) | rotation of the view, in degrees. | |||||||||
| android:rotationX | setRotationX(float) | rotation of the view around the x axis, in degrees. | |||||||||
| android:rotationY | setRotationY(float) | rotation of the view around the y axis, in degrees. | |||||||||
| android:saveEnabled | setSaveEnabled(boolean) | If false, no state will be saved for this view when it is being frozen. | |||||||||
| android:scaleX | setScaleX(float) | scale of the view in the x direction. | |||||||||
| android:scaleY | setScaleY(float) | scale of the view in the y direction. | |||||||||
| android:scrollIndicators | setScrollIndicators(int) | 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 | setScrollBarDefaultDelayBeforeFade(int) | Defines the delay in milliseconds that a scrollbar waits before fade out. | |||||||||
| android:scrollbarFadeDuration | setScrollBarFadeDuration(int) | Defines the delay in milliseconds that a scrollbar takes to fade out. | |||||||||
| android:scrollbarSize | setScrollBarSize(int) | Sets the width of vertical scrollbars and height of horizontal scrollbars. | |||||||||
| android:scrollbarStyle | setScrollBarStyle(int) | 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 | setSoundEffectsEnabled(boolean) | Boolean that controls whether a view should have sound effects enabled for events such as clicking and touching. | |||||||||
| android:stateListAnimator | Sets the state-based animator for the View. | ||||||||||
| android:tag | 
          Supply a tag for this view containing a String, to be retrieved
             later with View.getTag() or
             searched for with View.findViewWithTag(). 
          
    
         | 
    ||||||||||
| android:textAlignment | setTextAlignment(int) | Defines the alignment of the text. | |||||||||
| android:textDirection | setTextDirection(int) | Defines the direction of the text. | |||||||||
| android:transformPivotX | setPivotX(float) | x location of the pivot point around which the view will rotate and scale. | |||||||||
| android:transformPivotY | setPivotY(float) | 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 | setTranslationX(float) | translation in x of the view. | |||||||||
| android:translationY | setTranslationY(float) | translation in y of the view. | |||||||||
| android:translationZ | setTranslationZ(float) | translation in z of the view. | |||||||||
| android:visibility | setVisibility(int) | Controls the initial visibility of the view. | |||||||||
| Constants | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| int | ACCESSIBILITY_LIVE_REGION_ASSERTIVE | Live region mode specifying that accessibility services should interrupt ongoing speech to immediately announce changes to this view. | |||||||||
| int | ACCESSIBILITY_LIVE_REGION_NONE | Live region mode specifying that accessibility services should not automatically announce changes to this view. | |||||||||
| int | ACCESSIBILITY_LIVE_REGION_POLITE | Live region mode specifying that accessibility services should announce changes to this view. | |||||||||
| int | DRAWING_CACHE_QUALITY_AUTO | 
           Enables automatic quality mode for the drawing cache.  | 
    |||||||||
| int | DRAWING_CACHE_QUALITY_HIGH | 
           Enables high quality mode for the drawing cache.  | 
    |||||||||
| int | DRAWING_CACHE_QUALITY_LOW | 
           Enables low quality mode for the drawing cache.  | 
    |||||||||
| int | FIND_VIEWS_WITH_CONTENT_DESCRIPTION | Find find views that contain the specified content description. | |||||||||
| int | FIND_VIEWS_WITH_TEXT | Find views that render the specified text. | |||||||||
| int | FOCUSABLES_ALL | 
          View flag indicating whether addFocusables(ArrayList, int, int)
 should add all focusable Views regardless if they are focusable in touch mode.
          
    
         | 
    |||||||||
| int | FOCUSABLES_TOUCH_MODE | 
          View flag indicating whether addFocusables(ArrayList, int, int)
 should add only Views focusable in touch mode.
          
    
         | 
    |||||||||
| int | FOCUS_BACKWARD | 
          Use with focusSearch(int).
          
    
         | 
    |||||||||
| int | FOCUS_DOWN | 
          Use with focusSearch(int).
          
    
         | 
    |||||||||
| int | FOCUS_FORWARD | 
          Use with focusSearch(int).
          
    
         | 
    |||||||||
| int | FOCUS_LEFT | 
          Use with focusSearch(int).
          
    
         | 
    |||||||||
| int | FOCUS_RIGHT | 
          Use with focusSearch(int).
          
    
         | 
    |||||||||
| int | FOCUS_UP | 
          Use with focusSearch(int).
          
    
         | 
    |||||||||
| int | GONE | This view is invisible, and it doesn't take any space for layout purposes. | |||||||||
| int | HAPTIC_FEEDBACK_ENABLED | View flag indicating whether this view should have haptic feedback enabled for events such as long presses. | |||||||||
| int | IMPORTANT_FOR_ACCESSIBILITY_AUTO | Automatically determine whether a view is important for accessibility. | |||||||||
| int | IMPORTANT_FOR_ACCESSIBILITY_NO | The view is not important for accessibility. | |||||||||
| int | IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS | The view is not important for accessibility, nor are any of its descendant views. | |||||||||
| int | IMPORTANT_FOR_ACCESSIBILITY_YES | The view is important for accessibility. | |||||||||
| int | INVISIBLE | This view is invisible, but it still takes up space for layout purposes. | |||||||||
| int | KEEP_SCREEN_ON | View flag indicating that the screen should remain on while the window containing this view is visible to the user. | |||||||||
| int | LAYER_TYPE_HARDWARE | 
           Indicates that the view has a hardware layer.  | 
    |||||||||
| int | LAYER_TYPE_NONE | Indicates that the view does not have a layer. | |||||||||
| int | LAYER_TYPE_SOFTWARE | 
           Indicates that the view has a software layer.  | 
    |||||||||
| int | LAYOUT_DIRECTION_INHERIT | Horizontal layout direction of this view is inherited from its parent. | |||||||||
| int | LAYOUT_DIRECTION_LOCALE | Horizontal layout direction of this view is from deduced from the default language script for the locale. | |||||||||
| int | LAYOUT_DIRECTION_LTR | Horizontal layout direction of this view is from Left to Right. | |||||||||
| int | LAYOUT_DIRECTION_RTL | Horizontal layout direction of this view is from Right to Left. | |||||||||
| int | MEASURED_HEIGHT_STATE_SHIFT | 
          Bit shift of MEASURED_STATE_MASK to get to the height bits
 for functions that combine both width and height into a single int,
 such as getMeasuredState() and the childState argument of
 resolveSizeAndState(int, int, int).
          
    
         | 
    |||||||||
| int | MEASURED_SIZE_MASK | 
          Bits of getMeasuredWidthAndState() and
 getMeasuredWidthAndState() that provide the actual measured size.
          
    
         | 
    |||||||||
| int | MEASURED_STATE_MASK | 
          Bits of getMeasuredWidthAndState() and
 getMeasuredWidthAndState() that provide the additional state bits.
          
    
         | 
    |||||||||
| int | MEASURED_STATE_TOO_SMALL | 
          Bit of getMeasuredWidthAndState() and
 getMeasuredWidthAndState() that indicates the measured size
 is smaller that the space the view would like to have.
          
    
         | 
    |||||||||
| int | NO_ID | Used to mark a View that has no ID. | |||||||||
| int | OVER_SCROLL_ALWAYS | Always allow a user to over-scroll this view, provided it is a view that can scroll. | |||||||||
| int | OVER_SCROLL_IF_CONTENT_SCROLLS | Allow a user to over-scroll this view only if the content is large enough to meaningfully scroll, provided it is a view that can scroll. | |||||||||
| int | OVER_SCROLL_NEVER | Never allow a user to over-scroll this view. | |||||||||
| int | SCREEN_STATE_OFF | Indicates that the screen has changed state and is now off. | |||||||||
| int | SCREEN_STATE_ON | Indicates that the screen has changed state and is now on. | |||||||||
| int | SCROLLBARS_INSIDE_INSET | The scrollbar style to display the scrollbars inside the padded area, increasing the padding of the view. | |||||||||
| int | SCROLLBARS_INSIDE_OVERLAY | The scrollbar style to display the scrollbars inside the content area, without increasing the padding. | |||||||||
| int | SCROLLBARS_OUTSIDE_INSET | The scrollbar style to display the scrollbars at the edge of the view, increasing the padding of the view. | |||||||||
| int | SCROLLBARS_OUTSIDE_OVERLAY | The scrollbar style to display the scrollbars at the edge of the view, without increasing the padding. | |||||||||
| int | SCROLLBAR_POSITION_DEFAULT | Position the scroll bar at the default position as determined by the system. | |||||||||
| int | SCROLLBAR_POSITION_LEFT | Position the scroll bar along the left edge. | |||||||||
| int | SCROLLBAR_POSITION_RIGHT | Position the scroll bar along the right edge. | |||||||||
| int | SCROLL_AXIS_HORIZONTAL | Indicates scrolling along the horizontal axis. | |||||||||
| int | SCROLL_AXIS_NONE | Indicates no axis of view scrolling. | |||||||||
| int | SCROLL_AXIS_VERTICAL | Indicates scrolling along the vertical axis. | |||||||||
| int | SCROLL_INDICATOR_BOTTOM | Scroll indicator direction for the bottom edge of the view. | |||||||||
| int | SCROLL_INDICATOR_END | Scroll indicator direction for the ending edge of the view. | |||||||||
| int | SCROLL_INDICATOR_LEFT | Scroll indicator direction for the left edge of the view. | |||||||||
| int | SCROLL_INDICATOR_RIGHT | Scroll indicator direction for the right edge of the view. | |||||||||
| int | SCROLL_INDICATOR_START | Scroll indicator direction for the starting edge of the view. | |||||||||
| int | SCROLL_INDICATOR_TOP | Scroll indicator direction for the top edge of the view. | |||||||||
| int | SOUND_EFFECTS_ENABLED | View flag indicating whether this view should have sound effects enabled for events such as clicking and touching. | |||||||||
| int | STATUS_BAR_HIDDEN | 
          
      This constant was deprecated
      in API level 14.
    Use SYSTEM_UI_FLAG_LOW_PROFILE instead.
          
    
         | 
    |||||||||
| int | STATUS_BAR_VISIBLE | 
          
      This constant was deprecated
      in API level 14.
    Use SYSTEM_UI_FLAG_VISIBLE instead.
          
    
         | 
    |||||||||
| int | SYSTEM_UI_FLAG_FULLSCREEN | 
          Flag for setSystemUiVisibility(int): View has requested to go
 into the normal fullscreen mode so that its content can take over the screen
 while still allowing the user to interact with the application.
          
    
         | 
    |||||||||
| int | SYSTEM_UI_FLAG_HIDE_NAVIGATION | 
          Flag for setSystemUiVisibility(int): View has requested that the
 system navigation be temporarily hidden.
          
    
         | 
    |||||||||
| int | SYSTEM_UI_FLAG_IMMERSIVE | 
          Flag for setSystemUiVisibility(int): View would like to remain interactive when
 hiding the navigation bar with SYSTEM_UI_FLAG_HIDE_NAVIGATION.
          
    
         | 
    |||||||||
| int | SYSTEM_UI_FLAG_IMMERSIVE_STICKY | 
          Flag for setSystemUiVisibility(int): View would like to remain interactive when
 hiding the status bar with SYSTEM_UI_FLAG_FULLSCREEN and/or hiding the navigation
 bar with SYSTEM_UI_FLAG_HIDE_NAVIGATION.
          
    
         | 
    |||||||||
| int | SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | 
          Flag for setSystemUiVisibility(int): View would like its window
 to be laid out as if it has requested
 SYSTEM_UI_FLAG_FULLSCREEN, even if it currently hasn't.
          
    
         | 
    |||||||||
| int | SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | 
          Flag for setSystemUiVisibility(int): View would like its window
 to be laid out as if it has requested
 SYSTEM_UI_FLAG_HIDE_NAVIGATION, even if it currently hasn't.
          
    
         | 
    |||||||||
| int | SYSTEM_UI_FLAG_LAYOUT_STABLE | 
          Flag for setSystemUiVisibility(int): When using other layout
 flags, we would like a stable view of the content insets given to
 fitSystemWindows(Rect).
          
    
         | 
    |||||||||
| int | SYSTEM_UI_FLAG_LIGHT_STATUS_BAR | 
          Flag for setSystemUiVisibility(int): Requests the status bar to draw in a mode that
 is compatible with light status bar backgrounds.
          
    
         | 
    |||||||||
| int | SYSTEM_UI_FLAG_LOW_PROFILE | 
          Flag for setSystemUiVisibility(int): View has requested the
 system UI to enter an unobtrusive "low profile" mode.
          
    
         | 
    |||||||||
| int | SYSTEM_UI_FLAG_VISIBLE | 
          Special constant for setSystemUiVisibility(int): View has
 requested the system UI (status bar) to be visible (the default).
          
    
         | 
    |||||||||
| int | SYSTEM_UI_LAYOUT_FLAGS | Flags that can impact the layout in relation to system UI. | |||||||||
| int | TEXT_ALIGNMENT_CENTER | Center the paragraph, e.g. | |||||||||
| int | TEXT_ALIGNMENT_GRAVITY | Default for the root view. | |||||||||
| int | TEXT_ALIGNMENT_INHERIT | Default text alignment. | |||||||||
| int | TEXT_ALIGNMENT_TEXT_END | Align to the end of the paragraph, e.g. | |||||||||
| int | TEXT_ALIGNMENT_TEXT_START | Align to the start of the paragraph, e.g. | |||||||||
| int | TEXT_ALIGNMENT_VIEW_END | Align to the end of the view, which is ALIGN_RIGHT if the view’s resolved layoutDirection is LTR, and ALIGN_LEFT otherwise. | |||||||||
| int | TEXT_ALIGNMENT_VIEW_START | Align to the start of the view, which is ALIGN_LEFT if the view’s resolved layoutDirection is LTR, and ALIGN_RIGHT otherwise. | |||||||||
| int | TEXT_DIRECTION_ANY_RTL | Text direction is using "any-RTL" algorithm. | |||||||||
| int | TEXT_DIRECTION_FIRST_STRONG | Text direction is using "first strong algorithm". | |||||||||
| int | TEXT_DIRECTION_FIRST_STRONG_LTR | Text direction is using "first strong algorithm". | |||||||||
| int | TEXT_DIRECTION_FIRST_STRONG_RTL | Text direction is using "first strong algorithm". | |||||||||
| int | TEXT_DIRECTION_INHERIT | 
          Text direction is inherited through ViewGroup
          
    
         | 
    |||||||||
| int | TEXT_DIRECTION_LOCALE | Text direction is coming from the system Locale. | |||||||||
| int | TEXT_DIRECTION_LTR | Text direction is forced to LTR. | |||||||||
| int | TEXT_DIRECTION_RTL | Text direction is forced to RTL. | |||||||||
| String | VIEW_LOG_TAG | The logging tag used by this class with android.util.Log. | |||||||||
| int | VISIBLE | This view is visible. | |||||||||
| Fields | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| ALPHA | 
            A Property wrapper around the alpha functionality handled by the
 setAlpha(float) and getAlpha() methods.
            
    
           | 
      ||||||||||
| EMPTY_STATE_SET | Indicates the view has no states set. | ||||||||||
| ENABLED_FOCUSED_SELECTED_STATE_SET | Indicates the view is enabled, focused and selected. | ||||||||||
| ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET | Indicates the view is enabled, focused, selected and its window has the focus. | ||||||||||
| ENABLED_FOCUSED_STATE_SET | Indicates the view is enabled and has the focus. | ||||||||||
| ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET | Indicates the view is enabled, focused and its window has the focus. | ||||||||||
| ENABLED_SELECTED_STATE_SET | Indicates the view is enabled and selected. | ||||||||||
| ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET | Indicates the view is enabled, selected and its window has the focus. | ||||||||||
| ENABLED_STATE_SET | Indicates the view is enabled. | ||||||||||
| ENABLED_WINDOW_FOCUSED_STATE_SET | Indicates the view is enabled and that its window has focus. | ||||||||||
| FOCUSED_SELECTED_STATE_SET | Indicates the view is focused and selected. | ||||||||||
| FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET | Indicates the view is focused, selected and its window has the focus. | ||||||||||
| FOCUSED_STATE_SET | Indicates the view is focused. | ||||||||||
| FOCUSED_WINDOW_FOCUSED_STATE_SET | Indicates the view has the focus and that its window has the focus. | ||||||||||
| PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET | Indicates the view is pressed, enabled, focused and selected. | ||||||||||
| 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 | Indicates the view is pressed, enabled and focused. | ||||||||||
| 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 | Indicates the view is pressed, enabled and selected. | ||||||||||
| PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET | Indicates the view is pressed, enabled, selected and its window has the focus. | ||||||||||
| PRESSED_ENABLED_STATE_SET | Indicates the view is pressed and enabled. | ||||||||||
| PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET | Indicates the view is pressed, enabled and its window has the focus. | ||||||||||
| PRESSED_FOCUSED_SELECTED_STATE_SET | Indicates the view is pressed, focused and selected. | ||||||||||
| PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET | Indicates the view is pressed, focused, selected and its window has the focus. | ||||||||||
| PRESSED_FOCUSED_STATE_SET | Indicates the view is pressed and focused. | ||||||||||
| PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET | Indicates the view is pressed, focused and its window has the focus. | ||||||||||
| PRESSED_SELECTED_STATE_SET | Indicates the view is pressed and selected. | ||||||||||
| PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET | Indicates the view is pressed, selected and its window has the focus. | ||||||||||
| PRESSED_STATE_SET | Indicates the view is pressed. | ||||||||||
| PRESSED_WINDOW_FOCUSED_STATE_SET | Indicates the view is pressed and its window has the focus. | ||||||||||
| ROTATION | 
            A Property wrapper around the rotation functionality handled by the
 setRotation(float) and getRotation() methods.
            
    
           | 
      ||||||||||
| ROTATION_X | 
            A Property wrapper around the rotationX functionality handled by the
 setRotationX(float) and getRotationX() methods.
            
    
           | 
      ||||||||||
| ROTATION_Y | 
            A Property wrapper around the rotationY functionality handled by the
 setRotationY(float) and getRotationY() methods.
            
    
           | 
      ||||||||||
| SCALE_X | 
            A Property wrapper around the scaleX functionality handled by the
 setScaleX(float) and getScaleX() methods.
            
    
           | 
      ||||||||||
| SCALE_Y | 
            A Property wrapper around the scaleY functionality handled by the
 setScaleY(float) and getScaleY() methods.
            
    
           | 
      ||||||||||
| SELECTED_STATE_SET | Indicates the view is selected. | ||||||||||
| SELECTED_WINDOW_FOCUSED_STATE_SET | Indicates the view is selected and that its window has the focus. | ||||||||||
| TRANSLATION_X | 
            A Property wrapper around the translationX functionality handled by the
 setTranslationX(float) and getTranslationX() methods.
            
    
           | 
      ||||||||||
| TRANSLATION_Y | 
            A Property wrapper around the translationY functionality handled by the
 setTranslationY(float) and getTranslationY() methods.
            
    
           | 
      ||||||||||
| TRANSLATION_Z | 
            A Property wrapper around the translationZ functionality handled by the
 setTranslationZ(float) and getTranslationZ() methods.
            
    
           | 
      ||||||||||
| WINDOW_FOCUSED_STATE_SET | Indicates the view's window has focus. | ||||||||||
| X | 
            A Property wrapper around the x functionality handled by the
 setX(float) and getX() methods.
            
    
           | 
      ||||||||||
| Y | 
            A Property wrapper around the y functionality handled by the
 setY(float) and getY() methods.
            
    
           | 
      ||||||||||
| Z | 
            A Property wrapper around the z functionality handled by the
 setZ(float) and getZ() methods.
            
    
           | 
      ||||||||||
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
          Simple constructor to use when creating a view from code.
          
    
         
  
   | |||||||||||
          Constructor that is called when inflating a view from XML.
          
    
         
  
   | |||||||||||
          Perform inflation from XML and apply a class-specific base style from a
 theme attribute.
          
    
         
  
   | |||||||||||
          Perform inflation from XML and apply a class-specific base style from a
 theme attribute or style resource.
          
    
         
  
   | |||||||||||
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
          Adds the children of this View relevant for accessibility to the given list
 as output.
          
    
         
  
   | |||||||||||
          Adds any focusable views that are descendants of this view (possibly
 including this view if it is focusable itself) to views.
          
    
         
  
   | |||||||||||
          Add any focusable views that are descendants of this view (possibly
 including this view if it is focusable itself) to views.
          
    
         
  
   | |||||||||||
          Add a listener for attach state changes.
          
    
         
  
   | |||||||||||
          Add a listener that will be called when the bounds of the view change due to
 layout processing.
          
    
         
  
   | |||||||||||
          Add any touchable views that are descendants of this view (possibly
 including this view if it is touchable itself) to views.
          
    
         
  
   | |||||||||||
          This method returns a ViewPropertyAnimator object, which can be used to animate
 specific properties on this View.
          
    
         
  
   | |||||||||||
          Convenience method for sending a  
  
  TYPE_ANNOUNCEMENT
 AccessibilityEvent to make an announcement which is related to some
 sort of a context change for which none of the events representing UI transitions
 is a good fit.
          
    
         | |||||||||||
          Change the view's z order in the tree, so it's on top of other sibling
 views.
          
    
         
  
   | |||||||||||
Calling this method is equivalent to calling   | |||||||||||
Forces the drawing cache to be built if the drawing cache is invalid.  | |||||||||||
          Forces this view's layer to be created and this view to be rendered
 into its layer.
          
    
         
  
   | |||||||||||
          Directly call any attached OnClickListener.
          
    
         
  
   | |||||||||||
          Check if layout direction resolution can be done.
          
    
         
  
   | |||||||||||
          Check if text alignment resolution can be done.
          
    
         
  
   | |||||||||||
          Check if text direction resolution can be done.
          
    
         
  
   | |||||||||||
          Check if this view can be scrolled horizontally in a certain direction.
          
    
         
  
   | |||||||||||
          Check if this view can be scrolled vertically in a certain direction.
          
    
         
  
   | |||||||||||
          Cancels a pending long press.
          
    
         
  
   | |||||||||||
          Cancel any deferred high-level input events that were previously posted to the event queue.
          
    
         
  
   | |||||||||||
          Called by the  
  
  InputMethodManager
 when a view who is not the current
 input connection target is trying to make a call on the manager.
          
    
         | |||||||||||
          Cancels any animations for this view.
          
    
         
  
   | |||||||||||
          Called when this view wants to give up focus.
          
    
         
  
   | |||||||||||
          Merge two states as returned by  
  
  getMeasuredState().
          
    
         | |||||||||||
          Called by a parent to request that a child update its values for mScrollX
 and mScrollY if necessary.
          
    
         
  
   | |||||||||||
          Compute insets that should be consumed by this view and the ones that should propagate
 to those under it.
          
    
         
  
   | |||||||||||
          Returns an  
  
  AccessibilityNodeInfo representing this view from the
 point of view of an AccessibilityService.
          
    
         | |||||||||||
          Show the context menu for this view.
          
    
         
  
   | |||||||||||
Frees the resources used by the drawing cache.  | |||||||||||
          Request to apply the given window insets to this view or another view in its subtree.
          
    
         
  
   | |||||||||||
          Dispatch a notification about a resource configuration change down
 the view hierarchy.
          
    
         
  
   | |||||||||||
          Dispatch a hint about whether this view is displayed.
          
    
         
  
   | |||||||||||
          Detects if this View is enabled and has a drag event listener.
          
    
         
  
   | |||||||||||
          Dispatches drawableHotspotChanged to all of this View's children.
          
    
         
  
   | |||||||||||
          Dispatch a generic motion event.
          
    
         
  
   | |||||||||||
          Dispatch a key event to the next view on the focus path.
          
    
         
  
   | |||||||||||
          Dispatch a key event before it is processed by any input method
 associated with the view hierarchy.
          
    
         
  
   | |||||||||||
          Dispatches a key shortcut event.
          
    
         
  
   | |||||||||||
          Dispatch a fling to a nested scrolling parent.
          
    
         
  
   | |||||||||||
          Dispatch a fling to a nested scrolling parent before it is processed by this view.
          
    
         
  
   | |||||||||||
          Report an accessibility action to this view's parents for delegated processing.
          
    
         
  
   | |||||||||||
          Dispatch one step of a nested scroll in progress before this view consumes any portion of it.
          
    
         
  
   | |||||||||||
          Dispatch one step of a nested scroll in progress.
          
    
         
  
   | |||||||||||
          Dispatches an  
  
  AccessibilityEvent to the View first and then
 to its children for adding their text content to the event.
          
    
         | |||||||||||
          Dispatch creation of  
  
  ViewStructure down the hierarchy.
          
    
         | |||||||||||
          Dispatch callbacks to  
  
  setOnSystemUiVisibilityChangeListener(View.OnSystemUiVisibilityChangeListener) down
 the view hierarchy.
          
    
         | |||||||||||
          Pass the touch screen motion event down to the target view, or this
 view if it is the target.
          
    
         
  
   | |||||||||||
          Pass a trackball motion event down to the focused view.
          
    
         
  
   | |||||||||||
          This method is the last chance for the focused view and its ancestors to
 respond to an arrow key.
          
    
         
  
   | |||||||||||
          Called when the window containing this view gains or loses window focus.
          
    
         
  
   | |||||||||||
          Dispatch callbacks to  
  
  onWindowSystemUiVisibilityChanged(int) down
 the view hierarchy.
          
    
         | |||||||||||
          Dispatch a window visibility change down the view hierarchy.
          
    
         
  
   | |||||||||||
          Manually render this view (and all of its children) to the given Canvas.
          
    
         
  
   | |||||||||||
          This function is called whenever the view hotspot changes and needs to
 be propagated to drawables or child views managed by the view.
          
    
         
  
   | |||||||||||
          Find the view in the hierarchy rooted at this view that currently has
 focus.
          
    
         
  
   | |||||||||||
          Look for a child view with the given id.
          
    
         
  
   | |||||||||||
          Look for a child view with the given tag.
          
    
         
  
   | |||||||||||
          Finds the Views that contain given text.
          
    
         
  
   | |||||||||||
          Find the nearest view in the specified direction that can take focus.
          
    
         
  
   | |||||||||||
          Forces this view to be laid out during the next layout pass.
          
    
         
  
   | |||||||||||
          Generate a value suitable for use in  
  
  setId(int).
          
    
         | |||||||||||
          Return the class name of this object to be used for accessibility purposes.
          
    
         
  
   | |||||||||||
          Gets the live region mode for this View.
          
    
         
  
   | |||||||||||
          Gets the provider for managing a virtual view hierarchy rooted at this View
 and reported to  
  
  AccessibilityServices
 that explore the window content.
          
    
         | |||||||||||
          Gets the id of a view after which this one is visited in accessibility traversal.
          
    
         
  
   | |||||||||||
          Gets the id of a view before which this one is visited in accessibility traversal.
          
    
         
  
   | |||||||||||
          The opacity of the view.
          
    
         
  
   | |||||||||||
          Get the animation currently associated with this view.
          
    
         
  
   | |||||||||||
          Retrieve a unique token identifying the top-level "real" window of
 the window that this view is attached to.
          
    
         
  
   | |||||||||||
          Gets the background drawable
          
    
         
  
   | |||||||||||
          Return the tint applied to the background drawable, if specified.
          
    
         
  
   | |||||||||||
          Return the blending mode used to apply the tint to the background
 drawable, if specified.
          
    
         
  
   | |||||||||||
Return the offset of the widget's text baseline from the widget's top boundary.  | |||||||||||
          Bottom position of this view relative to its parent.
          
    
         
  
   | |||||||||||
          Gets the distance along the Z axis from the camera to this view.
          
    
         
  
   | |||||||||||
          Returns a copy of the current  
  
  clipBounds.
          
    
         | |||||||||||
          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.
          
    
         | |||||||||||
          Returns whether the Outline should be used to clip the contents of the View.
          
    
         
  
   | |||||||||||
          Gets the  
  
  View description.
          
    
         | |||||||||||
          Returns the context the view is running in, through which it can
 access the current theme, resources, etc.
          
    
         
  
   | |||||||||||
          Utility to return a default size.
          
    
         
  
   | |||||||||||
          Gets the logical display to which the view's window has been attached.
          
    
         
  
   | |||||||||||
          Return an array of resource IDs of the drawable states representing the
 current state of the view.
          
    
         
  
   | |||||||||||
Returns the bitmap in which this view drawing is cached.  | |||||||||||
Calling this method is equivalent to calling   | |||||||||||
          Returns the quality of the drawing cache.
          
    
         
  
   | |||||||||||
          Return the visible drawing bounds of your view.
          
    
         
  
   | |||||||||||
Return the time at which the drawing of the view hierarchy started.  | |||||||||||
          The base elevation of this view relative to its parent, in pixels.
          
    
         
  
   | |||||||||||
          Gets whether the framework should discard touches when the view's
 window is obscured by another visible window.
          
    
         
  
   | |||||||||||
          Check for state of  
  
  setFitsSystemWindows(boolean).
          
    
         | |||||||||||
          Find and return all focusable views that are descendants of this view,
 possibly including this view if it is focusable itself.
          
    
         
  
   | |||||||||||
          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.
          
    
         
  
   | |||||||||||
          Returns the drawable used as the foreground of this View.
          
    
         
  
   | |||||||||||
          Describes how the foreground is positioned.
          
    
         
  
   | |||||||||||
          Return the tint applied to the foreground drawable, if specified.
          
    
         
  
   | |||||||||||
          Return the blending mode used to apply the tint to the foreground
 drawable, if specified.
          
    
         
  
   | |||||||||||
          If some part of this view is not clipped by any of its parents, then
 return that area in r in global (root) coordinates.
          
    
         
  
   | |||||||||||
          Return the height of your view.
          
    
         
  
   | |||||||||||
          Hit rectangle in parent's coordinates
          
    
         
  
   | |||||||||||
          Returns the size of the horizontal faded edges used to indicate that more
 content in this view is visible.
          
    
         
  
   | |||||||||||
          Returns this view's identifier.
          
    
         
  
   | |||||||||||
          Gets the mode for determining 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.
          
    
         
  
   | |||||||||||
          Returns whether the screen should remain on, corresponding to the current
 value of  
  
  KEEP_SCREEN_ON.
          
    
         | |||||||||||
          Return the global  
  
  KeyEvent.DispatcherState
 for this view's window.
          
    
         | |||||||||||
          Gets the id of a view for which this view serves as a label for
 accessibility purposes.
          
    
         
  
   | |||||||||||
          Indicates what type of layer is currently associated with this view.
          
    
         
  
   | |||||||||||
          Returns the resolved layout direction for this view.
          
    
         
  
   | |||||||||||
          Get the LayoutParams associated with this view.
          
    
         
  
   | |||||||||||
          Left position of this view relative to its parent.
          
    
         
  
   | |||||||||||
Computes the coordinates of this view in its window.  | |||||||||||
Computes the coordinates of this view on the screen.  | |||||||||||
          The transform matrix of this view, which is calculated based on the current
 rotation, scale, and pivot properties.
          
    
         
  
   | |||||||||||
          Like  
  
  getMeasuredHeightAndState(), but only returns the
 raw width component (that is the result is masked by
 MEASURED_SIZE_MASK).
          
    
         | |||||||||||
          Return the full height measurement information for this view as computed
 by the most recent call to  
  
  measure(int, int).
          
    
         | |||||||||||
          Return only the state bits of  
  
  getMeasuredWidthAndState()
 and getMeasuredHeightAndState(), combined into one integer.
          
    
         | |||||||||||
          Like  
  
  getMeasuredWidthAndState(), but only returns the
 raw width component (that is the result is masked by
 MEASURED_SIZE_MASK).
          
    
         | |||||||||||
          Return the full width measurement information for this view as computed
 by the most recent call to  
  
  measure(int, int).
          
    
         | |||||||||||
          Returns the minimum height of the view.
          
    
         
  
   | |||||||||||
          Returns the minimum width of the view.
          
    
         
  
   | |||||||||||
          Gets the id of the view to use when the next focus is  
  
  FOCUS_DOWN.
          
    
         | |||||||||||
          Gets the id of the view to use when the next focus is  
  
  FOCUS_FORWARD.
          
    
         | |||||||||||
          Gets the id of the view to use when the next focus is  
  
  FOCUS_LEFT.
          
    
         | |||||||||||
          Gets the id of the view to use when the next focus is  
  
  FOCUS_RIGHT.
          
    
         | |||||||||||
          Gets the id of the view to use when the next focus is  
  
  FOCUS_UP.
          
    
         | |||||||||||
          Returns the focus-change callback registered for this view.
          
    
         
  
   | |||||||||||
          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 the over-scroll mode for this view.
          
    
         
  
   | |||||||||||
          Returns the overlay for this view, creating it if it does not yet exist.
          
    
         
  
   | |||||||||||
          Returns the bottom padding of this view.
          
    
         
  
   | |||||||||||
          Returns the end padding of this view depending on its resolved layout direction.
          
    
         
  
   | |||||||||||
          Returns the left padding of this view.
          
    
         
  
   | |||||||||||
          Returns the right padding of this view.
          
    
         
  
   | |||||||||||
          Returns the start padding of this view depending on its resolved layout direction.
          
    
         
  
   | |||||||||||
          Returns the top padding of this view.
          
    
         
  
   | |||||||||||
          Gets the parent of this view.
          
    
         
  
   | |||||||||||
          Gets the parent for accessibility purposes.
          
    
         
  
   | |||||||||||
          Returns the resources associated with this view.
          
    
         
  
   | |||||||||||
          Right position of this view relative to its parent.
          
    
         
  
   | |||||||||||
Finds the topmost view in the current view hierarchy.  | |||||||||||
          Provide original WindowInsets that are dispatched to the view hierarchy.
          
    
         
  
   | |||||||||||
          The degrees that the view is rotated around the pivot point.
          
    
         
  
   | |||||||||||
          The degrees that the view is rotated around the horizontal axis through the pivot point.
          
    
         
  
   | |||||||||||
          The degrees that the view is rotated around the vertical axis through the pivot point.
          
    
         
  
   | |||||||||||
          The amount that the view is scaled in x around the pivot point, as a proportion of
 the view's unscaled width.
          
    
         
  
   | |||||||||||
          The amount that the view is scaled in y around the pivot point, as a proportion of
 the view's unscaled height.
          
    
         
  
   | |||||||||||
          Returns the delay before scrollbars fade.
          
    
         
  
   | |||||||||||
          Returns the scrollbar fade duration.
          
    
         
  
   | |||||||||||
          Returns the scrollbar size.
          
    
         
  
   | |||||||||||
Returns the current scrollbar style.  | |||||||||||
          Returns a bitmask representing the enabled scroll indicators.
          
    
         
  
   | |||||||||||
          Return the scrolled left position of this view.
          
    
         
  
   | |||||||||||
          Return the scrolled top position of this view.
          
    
         
  
   | |||||||||||
          Override this if your view is known to always be drawn on top of a solid color background,
 and needs to draw fading edges.
          
    
         
  
   | |||||||||||
          Returns the current StateListAnimator if exists.
          
    
         
  
   | |||||||||||
          Returns the last  
  
  setSystemUiVisibility(int) that this view has requested.
          
    
         | |||||||||||
          Returns the tag associated with this view and the specified key.
          
    
         
  
   | |||||||||||
          Returns this view's tag.
          
    
         
  
   | |||||||||||
          Return the resolved text alignment.
          
    
         
  
   | |||||||||||
          Return the resolved text direction.
          
    
         
  
   | |||||||||||
          Top position of this view relative to its parent.
          
    
         
  
   | |||||||||||
          Gets the TouchDelegate for this View.
          
    
         
  
   | |||||||||||
          Find and return all touchable views that are descendants of this view,
 possibly including this view if it is touchable itself.
          
    
         
  
   | |||||||||||
          Returns the name of the View to be used to identify Views in Transitions.
          
    
         
  
   | |||||||||||
          The horizontal location of this view relative to its  
  
  left position.
          
    
         | |||||||||||
          The vertical location of this view relative to its  
  
  top position.
          
    
         | |||||||||||
          The depth location of this view relative to its  
  
  elevation.
          
    
         | |||||||||||
          Returns the size of the vertical faded edges used to indicate that more
 content in this view is visible.
          
    
         
  
   | |||||||||||
          Returns the width of the vertical scrollbar.
          
    
         
  
   | |||||||||||
          Returns the ViewTreeObserver for this view's hierarchy.
          
    
         
  
   | |||||||||||
          Returns the visibility status for this view.
          
    
         
  
   | |||||||||||
          Return the width of the your view.
          
    
         
  
   | |||||||||||
          Retrieve the  
  
  WindowId for the window this view is
 currently attached to.
          
    
         | |||||||||||
          Returns the current system UI visibility that is currently set for
 the entire window.
          
    
         
  
   | |||||||||||
          Retrieve a unique token identifying the window this view is attached to.
          
    
         
  
   | |||||||||||
          Retrieve the overall visible display size in which the window this view is
 attached to has been positioned in.
          
    
         
  
   | |||||||||||
          The visual x position of this view, in pixels.
          
    
         
  
   | |||||||||||
          The visual y position of this view, in pixels.
          
    
         
  
   | |||||||||||
          The visual z position of this view, in pixels.
          
    
         
  
   | |||||||||||
          Returns true if this view has focus itself, or is the ancestor of the
 view that has focus.
          
    
         
  
   | |||||||||||
          Returns true if this view is focusable or if it contains a reachable View
 for which  
  
  hasFocusable() returns true.
          
    
         | |||||||||||
          Returns true if this view has a nested scrolling parent.
          
    
         
  
   | |||||||||||
          Return whether this view has an attached OnClickListener.
          
    
         
  
   | |||||||||||
          Returns whether this View has content which overlaps.
          
    
         
  
   | |||||||||||
          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.
          
    
         
  
   | |||||||||||
          Returns true if this view is in a window that currently has window focus.
          
    
         
  
   | |||||||||||
          Inflate a view from an XML resource.
          
    
         
  
   | |||||||||||
          Mark the area defined by dirty as needing to be drawn.
          
    
         
  
   | |||||||||||
          Mark the area defined by the rect (l,t,r,b) as needing to be drawn.
          
    
         
  
   | |||||||||||
          Invalidate the whole view.
          
    
         
  
   | |||||||||||
          Invalidates the specified Drawable.
          
    
         
  
   | |||||||||||
          Called to rebuild this View's Outline from its  
  
  outline provider
          
    
         | |||||||||||
          Returns whether this View is accessibility focused.
          
    
         
  
   | |||||||||||
          Indicates the activation state of this view.
          
    
         
  
   | |||||||||||
          Returns true if this view is currently attached to a window.
          
    
         
  
   | |||||||||||
          Indicates whether this view reacts to click events or not.
          
    
         
  
   | |||||||||||
          Indicates whether this view reacts to context clicks or not.
          
    
         
  
   | |||||||||||
          True if this view has changed since the last time being drawn.
          
    
         
  
   | |||||||||||
Indicates whether the drawing cache is enabled for this view.  | |||||||||||
Indicates whether this duplicates its drawable state from its parent.  | |||||||||||
          Returns the enabled status for this view.
          
    
         
  
   | |||||||||||
          Returns whether this View is able to take focus.
          
    
         
  
   | |||||||||||
          When a view is focusable, it may not want to take focus when in touch mode.
          
    
         
  
   | |||||||||||
          Returns true if this view has focus
          
    
         
  
   | |||||||||||
Indicates whether this view is attached to a hardware accelerated window or not.  | |||||||||||
Indicate whether the horizontal edges are faded when the view is scrolled horizontally.  | |||||||||||
Indicate whether the horizontal scrollbar should be drawn or not.  | |||||||||||
          Returns true if the view is currently hovered.
          
    
         
  
   | |||||||||||
          Computes whether this view should be exposed for accessibility.
          
    
         
  
   | |||||||||||
          Indicates whether this View is currently in edit mode.
          
    
         
  
   | |||||||||||
          Returns whether the view hierarchy is currently undergoing a layout pass.
          
    
         
  
   | |||||||||||
          Returns whether the device is currently in touch mode.
          
    
         
  
   | |||||||||||
          Returns true if this view has been through at least one layout since it
 was last attached to or detached from a window.
          
    
         
  
   | |||||||||||
Indicates whether or not this view's layout will be requested during the next hierarchy layout pass.  | |||||||||||
          Indicates whether this view reacts to long click events or not.
          
    
         
  
   | |||||||||||
          Returns true if nested scrolling is enabled for this view.
          
    
         
  
   | |||||||||||
          Indicates whether this View is opaque.
          
    
         
  
   | |||||||||||
          Return if the padding has been set through relative values
  
  
  setPaddingRelative(int, int, int, int) or through
          
    
         | |||||||||||
          Indicates whether the view is currently in pressed state.
          
    
         
  
   | |||||||||||
          Indicates whether this view will save its state (that is,
 whether its  
  
  onSaveInstanceState() method will be called).
          
    
         | |||||||||||
          Indicates whether the entire hierarchy under this view will save its
 state when a state saving traversal occurs from its parent.
          
    
         
  
   | |||||||||||
          Indicates whether this view is one of the set of scrollable containers in
 its window.
          
    
         
  
   | |||||||||||
          Returns true if scrollbars will fade when this view is not scrolling
          
    
         
  
   | |||||||||||
          Indicates the selection state of this view.
          
    
         
  
   | |||||||||||
          Returns the visibility of this view and all of its ancestors
          
    
         
  
   | |||||||||||
Indicate whether the vertical edges are faded when the view is scrolled horizontally.  | |||||||||||
Indicate whether the vertical scrollbar should be drawn or not.  | |||||||||||
          Call  
  
  Drawable.jumpToCurrentState()
 on all Drawable objects associated with this view.
          
    
         | |||||||||||
          Assign a size and position to a view and all of its
 descendants
  
  
  This is the second phase of the layout mechanism.  | |||||||||||
This is called to find out how big a view should be.  | |||||||||||
          Offset this view's horizontal location by the specified amount of pixels.
          
    
         
  
   | |||||||||||
          Offset this view's vertical location by the specified number of pixels.
          
    
         
  
   | |||||||||||
          Called when the view should apply  
  
  WindowInsets according to its internal policy.
          
    
         | |||||||||||
          Called as the result of a call to  
  
  cancelPendingInputEvents() on this view or
 a parent view.
          
    
         | |||||||||||
          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.
          
    
         
  
   | |||||||||||
          Create a new InputConnection for an InputMethod to interact
 with the view.
          
    
         
  
   | |||||||||||
          Handles drag events sent by the system following a call to
  
  
  startDrag().
          
    
         | |||||||||||
          Draw any foreground content for this view.
          
    
         
  
   | |||||||||||
          Filter the touch event to apply security policies.
          
    
         
  
   | |||||||||||
          Called after  
  
  onStartTemporaryDetach() when the container is done
 changing the view.
          
    
         | |||||||||||
          Implement this method to handle generic motion events.
          
    
         
  
   | |||||||||||
          Implement this method to handle hover state changes.
          
    
         
  
   | |||||||||||
          Implement this method to handle hover events.
          
    
         
  
   | |||||||||||
          Initializes an  
  
  AccessibilityEvent with information about
 this View which is the event source.
          
    
         | |||||||||||
          Initializes an  
  
  AccessibilityNodeInfo with information about this view.
          
    
         | |||||||||||
          Default implementation of  
  
  KeyEvent.Callback.onKeyDown(): perform press of the view
 when KEYCODE_DPAD_CENTER or KEYCODE_ENTER
 is released, if the view is enabled and clickable.
          
    
         | |||||||||||
          Default implementation of  
  
  KeyEvent.Callback.onKeyLongPress(): always returns false (doesn't handle
 the event).
          
    
         | |||||||||||
          Default implementation of  
  
  KeyEvent.Callback.onKeyMultiple(): always returns false (doesn't handle
 the event).
          
    
         | |||||||||||
          Handle a key event before it is processed by any input method
 associated with the view hierarchy.
          
    
         
  
   | |||||||||||
          Called on the focused view when a key shortcut event is not handled.
          
    
         
  
   | |||||||||||
          Default implementation of  
  
  KeyEvent.Callback.onKeyUp(): perform clicking of the view
 when KEYCODE_DPAD_CENTER or
 KEYCODE_ENTER is released.
          
    
         | |||||||||||
          Called from  
  
  dispatchPopulateAccessibilityEvent(AccessibilityEvent)
 giving a chance to this View to populate the accessibility event with its
 text content.
          
    
         | |||||||||||
          Called when assist structure is being retrieved from a view as part of
  
  
  Activity.onProvideAssistData.
          
    
         | |||||||||||
          Called when assist structure is being retrieved from a view as part of
  
  
  Activity.onProvideAssistData to
 generate additional virtual structure under this view.
          
    
         | |||||||||||
          Called when any RTL property (layout direction or text direction or text alignment) has
 been changed.
          
    
         
  
   | |||||||||||
          This method is called whenever the state of the screen this view is
 attached to changes.
          
    
         
  
   | |||||||||||
          This is called when a container is going to temporarily detach a child, with
  
  
  ViewGroup.detachViewFromParent.
          
    
         | |||||||||||
          Implement this method to handle touch screen motion events.
          
    
         
  
   | |||||||||||
          Implement this method to handle trackball motion events.
          
    
         
  
   | |||||||||||
          Called when the window containing this view gains or loses focus.
          
    
         
  
   | |||||||||||
          Override to find out when the window's requested system UI visibility
 has changed, that is the value returned by  
  
  getWindowSystemUiVisibility().
          
    
         | |||||||||||
          Performs the specified accessibility action on the view.
          
    
         
  
   | |||||||||||
          Call this view's OnClickListener, if it is defined.
          
    
         
  
   | |||||||||||
          Call this view's OnContextClickListener, if it is defined.
          
    
         
  
   | |||||||||||
          BZZZTT!!1!
  
  
  Provide haptic feedback to the user for this view.  | |||||||||||
          BZZZTT!!1!
  
  
  Like   | |||||||||||
          Call this view's OnLongClickListener, if it is defined.
          
    
         
  
   | |||||||||||
          Play a sound effect for this view.
          
    
         
  
   | |||||||||||
Causes the Runnable to be added to the message queue.  | |||||||||||
Causes the Runnable to be added to the message queue, to be run after the specified amount of time elapses.  | |||||||||||
Cause an invalidate of the specified area to happen on a subsequent cycle through the event loop.  | |||||||||||
Cause an invalidate to happen on a subsequent cycle through the event loop.  | |||||||||||
Cause an invalidate of the specified area to happen on a subsequent cycle through the event loop.  | |||||||||||
Cause an invalidate to happen on a subsequent cycle through the event loop.  | |||||||||||
Cause an invalidate of the specified area to happen on the next animation time step, typically the next display frame.  | |||||||||||
Cause an invalidate to happen on the next animation time step, typically the next display frame.  | |||||||||||
Causes the Runnable to execute on the next animation time step.  | |||||||||||
Causes the Runnable to execute on the next animation time step, after the specified amount of time elapses.  | |||||||||||
          Call this to force a view to update its drawable state.
          
    
         
  
   | |||||||||||
Removes the specified Runnable from the message queue.  | |||||||||||
          Remove a listener for attach state changes.
          
    
         
  
   | |||||||||||
          Remove a listener for layout changes.
          
    
         
  
   | |||||||||||
          Ask that a new dispatch of  
  
  onApplyWindowInsets(WindowInsets) be performed.
          
    
         | |||||||||||
          
      This method was deprecated
      in API level 20.
    Use  
  
  requestApplyInsets() for newer platform versions.
          
    
         | |||||||||||
          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.
          
    
         
  
   | |||||||||||
          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.
          
    
         
  
   | |||||||||||
          Call this to try to give focus to a specific view or to one of its
 descendants.
          
    
         
  
   | |||||||||||
          Call this to try to give focus to a specific view or to one of its descendants.
          
    
         
  
   | |||||||||||
          Call this when something has changed which has invalidated the
 layout of this view.
          
    
         
  
   | |||||||||||
          Request that a rectangle of this view be visible on the screen,
 scrolling if necessary just enough.
          
    
         
  
   | |||||||||||
          Request that a rectangle of this view be visible on the screen,
 scrolling if necessary just enough.
          
    
         
  
   | |||||||||||
          Request unbuffered dispatch of the given stream of MotionEvents to this View.
          
    
         
  
   | |||||||||||
          Version of  
  
  resolveSizeAndState(int, int, int)
 returning only the MEASURED_SIZE_MASK bits of the result.
          
    
         | |||||||||||
          Utility to reconcile a desired size and state, with constraints imposed
 by a MeasureSpec.
          
    
         
  
   | |||||||||||
          Restore this view hierarchy's frozen state from the given container.
          
    
         
  
   | |||||||||||
          Store this view hierarchy's frozen state into the given container.
          
    
         
  
   | |||||||||||
          Schedules an action on a drawable to occur at a specified time.
          
    
         
  
   | |||||||||||
          Move the scrolled position of your view.
          
    
         
  
   | |||||||||||
          Set the scrolled position of your view.
          
    
         
  
   | |||||||||||
          Sends an accessibility event of the given type.
          
    
         
  
   | |||||||||||
          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.
          
    
         | |||||||||||
          Sets a delegate for implementing accessibility support via composition as
 opposed to inheritance.
          
    
         
  
   | |||||||||||
          Sets the live region mode for this view.
          
    
         
  
   | |||||||||||
          Sets the id of a view after which this one is visited in accessibility traversal.
          
    
         
  
   | |||||||||||
          Sets the id of a view before which this one is visited in accessibility traversal.
          
    
         
  
   | |||||||||||
          Changes the activated state of this view.
          
    
         
  
   | |||||||||||
          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.
          
    
         
  
   | |||||||||||
          Sets the next animation to play for this view.
          
    
         
  
   | |||||||||||
          Set the background to a given Drawable, or remove the background.
          
    
         
  
   | |||||||||||
          Sets the background color for this view.
          
    
         
  
   | |||||||||||
          
      This method was deprecated
      in API level 16.
    use  
  
  setBackground(Drawable) instead
          
    
         | |||||||||||
          Set the background to a given resource.
          
    
         
  
   | |||||||||||
          Applies a tint to the background drawable.
          
    
         
  
   | |||||||||||
          Specifies the blending mode used to apply the tint specified by
  
  
  setBackgroundTintList(ColorStateList)} to the background
 drawable.
          
    
         | |||||||||||
          Sets the bottom position of this view relative to its parent.
          
    
         
  
   | |||||||||||
Sets the distance along the Z axis (orthogonal to the X/Y plane on which views are drawn) from the camera to this view.  | |||||||||||
          Enables or disables click events for this view.
          
    
         
  
   | |||||||||||
          Sets a rectangular area on this view to which the view will be clipped
 when it is drawn.
          
    
         
  
   | |||||||||||
          Sets whether the View's Outline should be used to clip the contents of the View.
          
    
         
  
   | |||||||||||
          Sets the  
  
  View description.
          
    
         | |||||||||||
          Enables or disables context clicking for this view.
          
    
         
  
   | |||||||||||
          Setting a solid background color for the drawing cache's bitmaps will improve
 performance and memory usage.
          
    
         
  
   | |||||||||||
Enables or disables the drawing cache.  | |||||||||||
          Set the drawing cache quality of this view.
          
    
         
  
   | |||||||||||
Enables or disables the duplication of the parent's state into this view.  | |||||||||||
          Sets the base elevation of this view, in pixels.
          
    
         
  
   | |||||||||||
          Set the enabled state of this view.
          
    
         
  
   | |||||||||||
          Set the size of the faded edge used to indicate that more content in this
 view is available.
          
    
         
  
   | |||||||||||
          Sets whether the framework should discard touches when the view's
 window is obscured by another visible window.
          
    
         
  
   | |||||||||||
          Sets whether or not this view should account for system screen decorations
 such as the status bar and inset its content; that is, controlling whether
 the default implementation of  
  
  fitSystemWindows(Rect) will be
 executed.
          
    
         | |||||||||||
          Set whether this view can receive the focus.
          
    
         
  
   | |||||||||||
          Set whether this view can receive focus while in touch mode.
          
    
         
  
   | |||||||||||
          Supply a Drawable that is to be rendered on top of all of the content in the view.
          
    
         
  
   | |||||||||||
          Describes how the foreground is positioned.
          
    
         
  
   | |||||||||||
          Applies a tint to the foreground drawable.
          
    
         
  
   | |||||||||||
          Specifies the blending mode used to apply the tint specified by
  
  
  setForegroundTintList(ColorStateList)} to the background
 drawable.
          
    
         | |||||||||||
          Set whether this view should have haptic feedback for events such as
 long presses.
          
    
         
  
   | |||||||||||
          Set whether this view is currently tracking transient state that the
 framework should attempt to preserve when possible.
          
    
         
  
   | |||||||||||
Define whether the horizontal edges should be faded when this view is scrolled horizontally.  | |||||||||||
Define whether the horizontal scrollbar should be drawn or not.  | |||||||||||
          Sets whether the view is currently hovered.
          
    
         
  
   | |||||||||||
          Sets the identifier for this view.
          
    
         
  
   | |||||||||||
          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.
          
    
         
  
   | |||||||||||
          Controls whether the screen should remain on, modifying the
 value of  
  
  KEEP_SCREEN_ON.
          
    
         | |||||||||||
          Sets the id of a view for which this view serves as a label for
 accessibility purposes.
          
    
         
  
   | |||||||||||
          Updates the  
  
  Paint object used with the current layer (used only if the current
 layer type is not set to LAYER_TYPE_NONE).
          
    
         | |||||||||||
Specifies the type of layer backing this view.  | |||||||||||
          Set the layout direction for this view.
          
    
         
  
   | |||||||||||
          Set the layout parameters associated with this view.
          
    
         
  
   | |||||||||||
          Sets the left position of this view relative to its parent.
          
    
         
  
   | |||||||||||
          Enables or disables long click events for this view.
          
    
         
  
   | |||||||||||
          Sets the minimum height of the view.
          
    
         
  
   | |||||||||||
          Sets the minimum width of the view.
          
    
         
  
   | |||||||||||
          Enable or disable nested scrolling for this view.
          
    
         
  
   | |||||||||||
          Sets the id of the view to use when the next focus is  
  
  FOCUS_DOWN.
          
    
         | |||||||||||
          Sets the id of the view to use when the next focus is  
  
  FOCUS_FORWARD.
          
    
         | |||||||||||
          Sets the id of the view to use when the next focus is  
  
  FOCUS_LEFT.
          
    
         | |||||||||||
          Sets the id of the view to use when the next focus is  
  
  FOCUS_RIGHT.
          
    
         | |||||||||||
          Sets the id of the view to use when the next focus is  
  
  FOCUS_UP.
          
    
         | |||||||||||
          Set an  
  
  View.OnApplyWindowInsetsListener to take over the policy for applying
 window insets to this view.
          
    
         | |||||||||||
          Register a callback to be invoked when this view is clicked.
          
    
         
  
   | |||||||||||
          Register a callback to be invoked when this view is context clicked.
          
    
         
  
   | |||||||||||
          Register a callback to be invoked when the context menu for this view is
 being built.
          
    
         
  
   | |||||||||||
          Register a drag event listener callback object for this View.
          
    
         
  
   | |||||||||||
          Register a callback to be invoked when focus of this view changed.
          
    
         
  
   | |||||||||||
          Register a callback to be invoked when a generic motion event is sent to this view.
          
    
         
  
   | |||||||||||
          Register a callback to be invoked when a hover event is sent to this view.
          
    
         
  
   | |||||||||||
          Register a callback to be invoked when a hardware key is pressed in this view.
          
    
         
  
   | |||||||||||
          Register a callback to be invoked when this view is clicked and held.
          
    
         
  
   | |||||||||||
          Register a callback to be invoked when the scroll X or Y positions of
 this view change.
          
    
         
  
   | |||||||||||
          Set a listener to receive callbacks when the visibility of the system bar changes.
          
    
         
  
   | |||||||||||
          Register a callback to be invoked when a touch event is sent to this view.
          
    
         
  
   | |||||||||||
          Sets the  
  
  ViewOutlineProvider of the view, which generates the Outline that defines
 the shape of the shadow it casts, and enables outline clipping.
          
    
         | |||||||||||
          Set the over-scroll mode for this view.
          
    
         
  
   | |||||||||||
          Sets the padding.
          
    
         
  
   | |||||||||||
          Sets the relative padding.
          
    
         
  
   | |||||||||||
          Sets the pressed state for this view.
          
    
         
  
   | |||||||||||
          Sets the right position of this view relative to its parent.
          
    
         
  
   | |||||||||||
          Sets the degrees that the view is rotated around the pivot point.
          
    
         
  
   | |||||||||||
          Sets the degrees that the view is rotated around the horizontal axis through the pivot point.
          
    
         
  
   | |||||||||||
          Sets the degrees that the view is rotated around the vertical axis through the pivot point.
          
    
         
  
   | |||||||||||
          Controls whether the saving of this view's state is
 enabled (that is, whether its  
  
  onSaveInstanceState() method
 will be called).
          
    
         | |||||||||||
          Controls whether the entire hierarchy under this view will save its
 state when a state saving traversal occurs from its parent.
          
    
         
  
   | |||||||||||
          Sets the amount that the view is scaled in x around the pivot point, as a proportion of
 the view's unscaled width.
          
    
         
  
   | |||||||||||
          Sets the amount that the view is scaled in Y around the pivot point, as a proportion of
 the view's unscaled width.
          
    
         
  
   | |||||||||||
          Define the delay before scrollbars fade.
          
    
         
  
   | |||||||||||
          Define the scrollbar fade duration.
          
    
         
  
   | |||||||||||
          Define the scrollbar size.
          
    
         
  
   | |||||||||||
Specify the style of the scrollbars.  | |||||||||||
          Change whether this view is one of the set of scrollable containers in
 its window.
          
    
         
  
   | |||||||||||
          Sets the state of the scroll indicators specified by the mask.
          
    
         
  
   | |||||||||||
          Sets the state of all scroll indicators.
          
    
         
  
   | |||||||||||
          Set the horizontal scrolled position of your view.
          
    
         
  
   | |||||||||||
          Set the vertical scrolled position of your view.
          
    
         
  
   | |||||||||||
          Define whether scrollbars will fade when the view is not scrolling.
          
    
         
  
   | |||||||||||
          Changes the selection state of this view.
          
    
         
  
   | |||||||||||
          Set whether this view should have sound effects enabled for events such as
 clicking and touching.
          
    
         
  
   | |||||||||||
          Attaches the provided StateListAnimator to this View.
          
    
         
  
   | |||||||||||
          Request that the visibility of the status bar or other screen/window
 decorations be changed.
          
    
         
  
   | |||||||||||
          Sets a tag associated with this view and a key.
          
    
         
  
   | |||||||||||
          Sets the tag associated with this view.
          
    
         
  
   | |||||||||||
          Set the text alignment.
          
    
         
  
   | |||||||||||
          Set the text direction.
          
    
         
  
   | |||||||||||
          Sets the top position of this view relative to its parent.
          
    
         
  
   | |||||||||||
          Sets the TouchDelegate for this View.
          
    
         
  
   | |||||||||||
          Sets the name of the View to be used to identify Views in Transitions.
          
    
         
  
   | |||||||||||
          Sets the horizontal location of this view relative to its  
  
  left position.
          
    
         | |||||||||||
          Sets the vertical location of this view relative to its  
  
  top position.
          
    
         | |||||||||||
          Sets the depth location of this view relative to its  
  
  elevation.
          
    
         | |||||||||||
Define whether the vertical edges should be faded when this view is scrolled vertically.  | |||||||||||
Define whether the vertical scrollbar should be drawn or not.  | |||||||||||
          Set the position of the vertical scroll bar.
          
    
         
  
   | |||||||||||
          Set the enabled state of this view.
          
    
         
  
   | |||||||||||
          When a View's drawing cache is enabled, drawing is redirected to an
 offscreen bitmap.
          
    
         
  
   | |||||||||||
          If this view doesn't do any drawing on its own, set this flag to
 allow further optimizations.
          
    
         
  
   | |||||||||||
          Sets the visual x position of this view, in pixels.
          
    
         
  
   | |||||||||||
          Sets the visual y position of this view, in pixels.
          
    
         
  
   | |||||||||||
          Sets the visual z position of this view, in pixels.
          
    
         
  
   | |||||||||||
          Bring up the context menu for this view.
          
    
         
  
   | |||||||||||
          Start an action mode with the given type.
          
    
         
  
   | |||||||||||
          Start an action mode with the default type  
  
  TYPE_PRIMARY.
          
    
         | |||||||||||
          Start the specified animation now.
          
    
         
  
   | |||||||||||
          Starts a drag and drop operation.
          
    
         
  
   | |||||||||||
          Begin a nestable scroll operation along the given axes.
          
    
         
  
   | |||||||||||
          Stop a nested scroll in progress.
          
    
         
  
   | |||||||||||
          Returns a string containing a concise, human-readable description of this
 object.
          
    
         
  
   | |||||||||||
          Unschedule any events associated with the given Drawable.
          
    
         
  
   | |||||||||||
          Cancels a scheduled action on a drawable.
          
    
         
  
   | |||||||||||
          Returns whether or not this View can cache its drawing or not.
          
    
         
  
   | |||||||||||
          Returns whether or not this View draws on its own.
          
    
         
  
   | |||||||||||
| Protected Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Trigger the scrollbars to draw.  | |||||||||||
Trigger the scrollbars to draw.  | |||||||||||
Trigger the scrollbars to draw.  | |||||||||||
Compute the horizontal extent of the horizontal scrollbar's thumb within the horizontal range.  | |||||||||||
Compute the horizontal offset of the horizontal scrollbar's thumb within the horizontal range.  | |||||||||||
Compute the horizontal range that the horizontal scrollbar represents.  | |||||||||||
Compute the vertical extent of the vertical scrollbar's thumb within the vertical range.  | |||||||||||
Compute the vertical offset of the vertical scrollbar's thumb within the horizontal range.  | |||||||||||
Compute the vertical range that the vertical scrollbar represents.  | |||||||||||
          Called by draw to draw the child views.
          
    
         
  
   | |||||||||||
          Dispatch a generic motion event to the currently focused view.
          
    
         
  
   | |||||||||||
          Dispatch a generic motion event to the view under the first pointer.
          
    
         
  
   | |||||||||||
          Dispatch a hover event.
          
    
         
  
   | |||||||||||
          Called by  
  
  restoreHierarchyState(android.util.SparseArray) to retrieve the
 state for this view and its children.
          
    
         | |||||||||||
          Called by  
  
  saveHierarchyState(android.util.SparseArray) to store the state for
 this view and its children.
          
    
         | |||||||||||
          Dispatch setActivated to all of this View's children.
          
    
         
  
   | |||||||||||
          Dispatch setPressed to all of this View's children.
          
    
         
  
   | |||||||||||
          Dispatch setSelected to all of this View's children.
          
    
         
  
   | |||||||||||
          Dispatch a view visibility change down the view hierarchy.
          
    
         
  
   | |||||||||||
          This function is called whenever the state of the view changes in such
 a way that it impacts the state of drawables being shown.
          
    
         
  
   | |||||||||||
          
      This method was deprecated
      in API level 20.
    As of API 20 use  
  
  dispatchApplyWindowInsets(WindowInsets) to apply
 insets to views. Views should override onApplyWindowInsets(WindowInsets) or use
 setOnApplyWindowInsetsListener(android.view.View.OnApplyWindowInsetsListener)
 to implement handling their own insets.
          
    
         | |||||||||||
          Returns the strength, or intensity, of the bottom faded edge.
          
    
         
  
   | |||||||||||
          Amount by which to extend the bottom fading region.
          
    
         
  
   | |||||||||||
          Views should implement this if they have extra information to associate
 with the context menu.
          
    
         
  
   | |||||||||||
          Returns the height of the horizontal scrollbar.
          
    
         
  
   | |||||||||||
          Returns the strength, or intensity, of the left faded edge.
          
    
         
  
   | |||||||||||
          Amount by which to extend the left fading region.
          
    
         
  
   | |||||||||||
          Returns the strength, or intensity, of the right faded edge.
          
    
         
  
   | |||||||||||
          Amount by which to extend the right fading region.
          
    
         
  
   | |||||||||||
          Returns the suggested minimum height that the view should use.
          
    
         
  
   | |||||||||||
          Returns the suggested minimum width that the view should use.
          
    
         
  
   | |||||||||||
          Returns the strength, or intensity, of the top faded edge.
          
    
         
  
   | |||||||||||
          Amount by which to extend the top fading region.
          
    
         
  
   | |||||||||||
          If the View draws content inside its padding and enables fading edges,
 it needs to support padding offsets.
          
    
         
  
   | |||||||||||
          Merge your own state values in additionalState into the base
 state values baseState that were returned by
  
  
  onCreateDrawableState(int).
          
    
         | |||||||||||
          Invoked by a parent ViewGroup to notify the end of the animation
 currently associated with this view.
          
    
         
  
   | |||||||||||
          Invoked by a parent ViewGroup to notify the start of the animation
 currently associated with this view.
          
    
         
  
   | |||||||||||
          This is called when the view is attached to a window.
          
    
         
  
   | |||||||||||
          Called when the current configuration of the resources being used
 by the application have changed.
          
    
         
  
   | |||||||||||
          Views should implement this if the view itself is going to add items to
 the context menu.
          
    
         
  
   | |||||||||||
          Generate the new  
  
  Drawable state for
 this view.
          
    
         | |||||||||||
          This is called when the view is detached from a window.
          
    
         
  
   | |||||||||||
          Gives this view a hint about whether is displayed or not.
          
    
         
  
   | |||||||||||
          Implement this to do your drawing.
          
    
         
  
   | |||||||||||
Request the drawing of the horizontal and the vertical scrollbar.  | |||||||||||
          Finalize inflating a view from XML.
          
    
         
  
   | |||||||||||
          Called by the view system when the focus state of this view changes.
          
    
         
  
   | |||||||||||
          Called from layout when this view should
 assign a size and position to each of its children.
          
    
         
  
   | |||||||||||
Measure the view and its content to determine the measured width and the measured height.  | |||||||||||
          Called by  
  
  overScrollBy(int, int, int, int, int, int, int, int, boolean) to
 respond to the results of an over-scroll operation.
          
    
         | |||||||||||
          Hook allowing a view to re-apply a representation of its internal state that had previously
 been generated by  
  
  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 is called in response to an internal scroll in this view (i.e., the
 view scrolled its own contents).
          
    
         
  
   | |||||||||||
          Invoked if there is a Transform that involves alpha.
          
    
         
  
   | |||||||||||
          This is called during layout when the size of this view has changed.
          
    
         
  
   | |||||||||||
          Called when the visibility of the view or an ancestor of the view has
 changed.
          
    
         
  
   | |||||||||||
          Scroll the view with standard behavior for scrolling beyond the normal
 content boundaries.
          
    
         
  
   | |||||||||||
This method must be called by   | |||||||||||
          If your view subclass is displaying its own Drawable objects, it should
 override this function and return true for any Drawable it is
 displaying.
          
    
         
  
   | |||||||||||
| 
  [Expand]
   Inherited Methods  | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
   
From class
  java.lang.Object
 | |||||||||||
   
From interface
  android.graphics.drawable.Drawable.Callback
 | |||||||||||
   
From interface
  android.view.KeyEvent.Callback
 | |||||||||||
   
From interface
  android.view.accessibility.AccessibilityEventSource
 | |||||||||||
Indicates to accessibility services whether the user should be notified when this view changes.
May be an integer value, such as "100".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
May be one of the following constant values.
| Constant | Value | Description | 
|---|---|---|
none | 0 | Accessibility services should not announce changes to this view. | 
polite | 1 | Accessibility services should announce changes to this view. | 
assertive | 2 | Accessibility services should interrupt ongoing speech to immediately announce changes to this view. | 
This corresponds to the global attribute
          resource symbol accessibilityLiveRegion.
Sets the id of a view after which this one is visited in accessibility traversal. A screen-reader must visit the content of the other view before the content of this one.
Sets the id of a view before which this one is visited in accessibility traversal. A screen-reader must visit the content of this view before the content of the one it precedes.
alpha property of the view, as a value between 0 (completely transparent) and 1 (completely opaque).
Must be a floating point value, such as "1.2".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol alpha.
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 to a theme attribute in the form "?[package:][type:]name".
May be a color value, in the form of "#rgb", "#argb",
"#rrggbb", or "#aarrggbb".
          
This corresponds to the global attribute
          resource symbol background.
Tint to apply to the background.
Must be a color value, in the form of "#rgb", "#argb",
"#rrggbb", or "#aarrggbb".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol backgroundTint.
Blending mode used to apply the background tint.
Must be one of the following constant values.
| Constant | Value | Description | 
|---|---|---|
src_over | 3 | The tint is drawn on top of the drawable. [Sa + (1 - Sa)*Da, Rc = Sc + (1 - Sa)*Dc] | 
src_in | 5 | The tint is masked by the alpha channel of the drawable. The drawable’s color channels are thrown out. [Sa * Da, Sc * Da] | 
src_atop | 9 | The tint is drawn above the drawable, but with the drawable’s alpha channel masking the result. [Da, Sc * Da + (1 - Sa) * Dc] | 
multiply | 14 | Multiplies the color and alpha channels of the drawable with those of the tint. [Sa * Da, Sc * Dc] | 
screen | 15 | [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc] | 
add | 16 | Combines the tint and drawable color and alpha channels, clamping the result to valid color values. Saturate(S + D) | 
This corresponds to the global attribute
          resource symbol backgroundTintMode.
Defines whether this view reacts to click events.
Must be a boolean value, either "true" or "false".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol clickable.
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.
Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol contentDescription.
Defines whether this view reacts to context click events.
Must be a boolean value, either "true" or "false".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol contextClickable.
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.
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. | 
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. | 
high | 2 | High quality. When set to high quality, the drawing cache uses a higher color depth but uses more memory. | 
This corresponds to the global attribute
          resource symbol drawingCacheQuality.
When this attribute is set to true, the view gets its drawable state (focused, pressed, etc.) from its direct parent rather than from itself.
Must be a boolean value, either "true" or "false".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol duplicateParentState.
base z depth of the view
Must 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), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol elevation.
Defines whether to fade out scrollbars when they are not in use.
Must be a boolean value, either "true" or "false".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol fadeScrollbars.
Defines the length of the fading edges.
Must 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), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol fadingEdgeLength.
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. 
          
Must be a boolean value, either "true" or "false".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol filterTouchesWhenObscured.
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.
Must be a boolean value, either "true" or "false".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol fitsSystemWindows.
Boolean that controls whether a view can take focus.  By default the user can not
             move focus to a view; by setting this attribute to true the view is
             allowed to take focus.  This value does not impact the behavior of
             directly calling requestFocus(), which will
             always request focus regardless of this view.  It only impacts where
             focus navigation will try to move focus. 
          
Must be a boolean value, either "true" or "false".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol focusable.
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.
Must be a boolean value, either "true" or "false".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol focusableInTouchMode.
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 to a theme attribute in the form "?[package:][type:]name".
May be a color value, in the form of "#rgb", "#argb",
"#rrggbb", or "#aarrggbb".
          
This corresponds to the global attribute
          resource symbol foreground.
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 | 
|---|---|---|
top | 0x30 | Push object to the top of its container, not changing its size. | 
bottom | 0x50 | Push object to the bottom of its container, not changing its size. | 
left | 0x03 | Push object to the left of its container, not changing its size. | 
right | 0x05 | Push object to the right of its container, not changing its size. | 
center_vertical | 0x10 | Place object in the vertical center of its container, not changing its size. | 
fill_vertical | 0x70 | Grow the vertical size of the object if needed so it completely fills its container. | 
center_horizontal | 0x01 | Place object in the horizontal center of its container, not changing its size. | 
fill_horizontal | 0x07 | Grow the horizontal size of the object if needed so it completely fills its container. | 
center | 0x11 | Place the object in the center of its container in both the vertical and horizontal axis, not changing its size. | 
fill | 0x77 | Grow the horizontal and vertical size of the object if needed so it completely fills its container. | 
clip_vertical | 0x80 | 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. | 
clip_horizontal | 0x08 | 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. | 
This corresponds to the global attribute
          resource symbol foregroundGravity.
Tint to apply to the foreground.
Must be a color value, in the form of "#rgb", "#argb",
"#rrggbb", or "#aarrggbb".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol foregroundTint.
Blending mode used to apply the foreground tint.
Must be one of the following constant values.
| Constant | Value | Description | 
|---|---|---|
src_over | 3 | The tint is drawn on top of the drawable. [Sa + (1 - Sa)*Da, Rc = Sc + (1 - Sa)*Dc] | 
src_in | 5 | The tint is masked by the alpha channel of the drawable. The drawable’s color channels are thrown out. [Sa * Da, Sc * Da] | 
src_atop | 9 | The tint is drawn above the drawable, but with the drawable’s alpha channel masking the result. [Da, Sc * Da + (1 - Sa) * Dc] | 
multiply | 14 | Multiplies the color and alpha channels of the drawable with those of the tint. [Sa * Da, Sc * Dc] | 
screen | 15 | [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc] | 
add | 16 | Combines the tint and drawable color and alpha channels, clamping the result to valid color values. Saturate(S + D) | 
This corresponds to the global attribute
          resource symbol foregroundTintMode.
Boolean that controls whether a view should have haptic feedback enabled for events such as long presses.
Must be a boolean value, either "true" or "false".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol hapticFeedbackEnabled.
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). 
          
Must be a reference to another resource, in the form "@[+][package:]type:name"
or to a theme attribute in the form "?[package:][type:]name".
          
This corresponds to the global attribute
          resource symbol id.
Controls how 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. 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".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
May be one of the following constant values.
| Constant | Value | Description | 
|---|---|---|
auto | 0 | The system determines whether the view is important for accessibility - default (recommended). | 
yes | 1 | The view is important for accessibility. | 
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. | 
This corresponds to the global attribute
          resource symbol importantForAccessibility.
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.
Must be a boolean value, either "true" or "false".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol isScrollContainer.
Controls whether the view's window should keep the screen on while visible.
Must be a boolean value, either "true" or "false".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol keepScreenOn.
Specifies the type of layer backing this view. The default value is none.
             Refer to setLayerType(int, android.graphics.Paint)
             for more information.
          
Must be one of the following constant values.
| Constant | Value | Description | 
|---|---|---|
none | 0 | Don't use a layer. | 
software | 1 |  Use a software layer. Refer to
                 setLayerType(int, android.graphics.Paint) for
                 more information.  | 
hardware | 2 |  Use a hardware layer. Refer to
                 setLayerType(int, android.graphics.Paint) for
                 more information.  | 
This corresponds to the global attribute
          resource symbol layerType.
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 | 
|---|---|---|
ltr | 0 | Left-to-Right | 
rtl | 1 | Right-to-Left | 
inherit | 2 | Inherit from parent | 
locale | 3 | Locale | 
This corresponds to the global attribute
          resource symbol layoutDirection.
Defines whether this view reacts to long click events.
Must be a boolean value, either "true" or "false".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol longClickable.
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).
Must 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), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol minHeight.
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).
Must 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), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol minWidth.
Defines the next view to give focus to when the next focus is
             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.
          
Must be a reference to another resource, in the form "@[+][package:]type:name"
or to a theme attribute in the form "?[package:][type:]name".
          
This corresponds to the global attribute
          resource symbol nextFocusDown.
Defines the next view to give focus to when the next focus is
             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.
          
Must be a reference to another resource, in the form "@[+][package:]type:name"
or to a theme attribute in the form "?[package:][type:]name".
          
This corresponds to the global attribute
          resource symbol nextFocusForward.
Defines the next view to give focus to when the next focus is
             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.
          
Must be a reference to another resource, in the form "@[+][package:]type:name"
or to a theme attribute in the form "?[package:][type:]name".
          
This corresponds to the global attribute
          resource symbol nextFocusLeft.
Defines the next view to give focus to when the next focus is
             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.
          
Must be a reference to another resource, in the form "@[+][package:]type:name"
or to a theme attribute in the form "?[package:][type:]name".
          
This corresponds to the global attribute
          resource symbol nextFocusRight.
Defines the next view to give focus to when the next focus is
             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.
          
Must be a reference to another resource, in the form "@[+][package:]type:name"
or to a theme attribute in the form "?[package:][type:]name".
          
This corresponds to the global attribute
          resource symbol nextFocusUp.
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). 
          
Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol onClick.
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. A views size
             will include it's padding.  If a 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. 
          
Must 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), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol padding.
Sets the padding, in pixels, of the bottom edge; see padding. 
          
Must 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), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol paddingBottom.
Sets the padding, in pixels, of the end edge; see padding. 
          
Must 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), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol paddingEnd.
Sets the padding, in pixels, of the left edge; see padding. 
          
Must 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), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol paddingLeft.
Sets the padding, in pixels, of the right edge; see padding. 
          
Must 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), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol paddingRight.
Sets the padding, in pixels, of the start edge; see padding. 
          
Must 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), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol paddingStart.
Sets the padding, in pixels, of the top edge; see padding. 
          
Must 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), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol paddingTop.
Defines which edges should be faded on scrolling.
Must be one or more (separated by '|') of the following constant values.
| Constant | Value | Description | 
|---|---|---|
none | 0x00000000 | No edge is faded. | 
horizontal | 0x00001000 | Fades horizontal edges only. | 
vertical | 0x00002000 | Fades vertical edges only. | 
This corresponds to the global attribute
          resource symbol requiresFadingEdge.
rotation of the view, in degrees.
Must be a floating point value, such as "1.2".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol rotation.
rotation of the view around the x axis, in degrees.
Must be a floating point value, such as "1.2".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol rotationX.
rotation of the view around the y axis, in degrees.
Must be a floating point value, such as "1.2".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol rotationY.
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.
Must be a boolean value, either "true" or "false".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol saveEnabled.
scale of the view in the x direction.
Must be a floating point value, such as "1.2".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol scaleX.
scale of the view in the y direction.
Must be a floating point value, such as "1.2".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol scaleY.
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 | 
|---|---|---|
none | 0x00 | No scroll indicators are displayed. | 
top | 0x01 | Displays top scroll indicator when view can be scrolled up. | 
bottom | 0x02 | Displays bottom scroll indicator when vew can be scrolled down. | 
left | 0x04 | Displays left scroll indicator when vew can be scrolled left. | 
right | 0x08 | Displays right scroll indicator when vew can be scrolled right. | 
start | 0x10 | Displays right scroll indicator when vew can be scrolled in the start direction. | 
end | 0x20 | Displays right scroll indicator when vew can be scrolled in the end direction. | 
This corresponds to the global attribute
          resource symbol scrollIndicators.
The initial horizontal scroll offset, in pixels.
Must 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), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol scrollX.
The initial vertical scroll offset, in pixels.
Must 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), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol scrollY.
Defines whether the horizontal scrollbar track should always be drawn.
Must be a boolean value, either "true" or "false".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol scrollbarAlwaysDrawHorizontalTrack.
Defines whether the vertical scrollbar track should always be drawn.
Must be a boolean value, either "true" or "false".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol scrollbarAlwaysDrawVerticalTrack.
Defines the delay in milliseconds that a scrollbar waits before fade out.
Must be an integer value, such as "100".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol scrollbarDefaultDelayBeforeFade.
Defines the delay in milliseconds that a scrollbar takes to fade out.
Must be an integer value, such as "100".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol scrollbarFadeDuration.
Sets the width of vertical scrollbars and height of horizontal scrollbars.
Must 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), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol scrollbarSize.
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 | 
|---|---|---|
insideOverlay | 0x0 | Inside the padding and overlaid | 
insideInset | 0x01000000 | Inside the padding and inset | 
outsideOverlay | 0x02000000 | Edge of the view and overlaid | 
outsideInset | 0x03000000 | Edge of the view and inset | 
This corresponds to the global attribute
          resource symbol scrollbarStyle.
Defines the horizontal scrollbar thumb drawable.
Must be a reference to another resource, in the form "@[+][package:]type:name"
or to a theme attribute in the form "?[package:][type:]name".
          
This corresponds to the global attribute
          resource symbol scrollbarThumbHorizontal.
Defines the vertical scrollbar thumb drawable.
Must be a reference to another resource, in the form "@[+][package:]type:name"
or to a theme attribute in the form "?[package:][type:]name".
          
This corresponds to the global attribute
          resource symbol scrollbarThumbVertical.
Defines the horizontal scrollbar track drawable.
Must be a reference to another resource, in the form "@[+][package:]type:name"
or to a theme attribute in the form "?[package:][type:]name".
          
This corresponds to the global attribute
          resource symbol scrollbarTrackHorizontal.
Defines the vertical scrollbar track drawable.
Must be a reference to another resource, in the form "@[+][package:]type:name"
or to a theme attribute in the form "?[package:][type:]name".
          
This corresponds to the global attribute
          resource symbol scrollbarTrackVertical.
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 | 
|---|---|---|
none | 0x00000000 | No scrollbar is displayed. | 
horizontal | 0x00000100 | Displays horizontal scrollbar only. | 
vertical | 0x00000200 | Displays vertical scrollbar only. | 
This corresponds to the global attribute
          resource symbol scrollbars.
Boolean that controls whether a view should have sound effects enabled for events such as clicking and touching.
Must be a boolean value, either "true" or "false".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol soundEffectsEnabled.
Sets the state-based animator for the View.
Must be a reference to another resource, in the form "@[+][package:]type:name"
or to a theme attribute in the form "?[package:][type:]name".
          
This corresponds to the global attribute
          resource symbol stateListAnimator.
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. 
          
Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol tag.
Defines the alignment of the text. A heuristic is used to determine the resolved text alignment.
May be an integer value, such as "100".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
May be one of the following constant values.
| Constant | Value | Description | 
|---|---|---|
inherit | 0 | Default | 
gravity | 1 | Default for the root view. The gravity determines the alignment, ALIGN_NORMAL, ALIGN_CENTER, or ALIGN_OPPOSITE, which are relative to each paragraph’s text direction | 
textStart | 2 | Align to the start of the paragraph, e.g. ALIGN_NORMAL. | 
textEnd | 3 | Align to the end of the paragraph, e.g. ALIGN_OPPOSITE. | 
center | 4 | Center the paragraph, e.g. ALIGN_CENTER. | 
viewStart | 5 | Align to the start of the view, which is ALIGN_LEFT if the view’s resolved layoutDirection is LTR, and ALIGN_RIGHT otherwise. | 
viewEnd | 6 | Align to the end of the view, which is ALIGN_RIGHT if the view’s resolved layoutDirection is LTR, and ALIGN_LEFT otherwise | 
This corresponds to the global attribute
          resource symbol textAlignment.
Defines the direction of the text. A heuristic is used to determine the resolved text direction of paragraphs.
May be an integer value, such as "100".
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
May be one of the following constant values.
| Constant | Value | Description | 
|---|---|---|
inherit | 0 | Default | 
firstStrong | 1 | Default for the root view. The first strong directional character determines the paragraph direction. If there is no strong directional character, the paragraph direction is the view’s resolved layout direction. | 
anyRtl | 2 | The paragraph direction is RTL if it contains any strong RTL character, otherwise it is LTR if it contains any strong LTR characters. If there are neither, the paragraph direction is the view’s resolved layout direction. | 
ltr | 3 | The paragraph direction is left to right. | 
rtl | 4 | The paragraph direction is right to left. | 
locale | 5 | The paragraph direction is coming from the system Locale. | 
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. | 
This corresponds to the global attribute
          resource symbol textDirection.
x location of the pivot point around which the view will rotate and scale. This xml attribute sets the pivotX property of the View.
Must 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), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol transformPivotX.
y location of the pivot point around which the view will rotate and scale. This xml attribute sets the pivotY property of the View.
Must 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), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol transformPivotY.
Names a View such that it can be identified for Transitions. Names should be unique in the View hierarchy.
Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol transitionName.
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.
Must 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), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol translationX.
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.
Must 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), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol translationY.
translation in z of the view. This value is added to its elevation.
Must 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), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          
This corresponds to the global attribute
          resource symbol translationZ.
Controls the initial visibility of the view.
Must be one of the following constant values.
| Constant | Value | Description | 
|---|---|---|
visible | 0 | Visible on screen; the default value. | 
invisible | 1 | Not displayed, but taken into account during layout (space is left for it). | 
gone | 2 | Completely hidden, as if the view had not been added. | 
This corresponds to the global attribute
          resource symbol visibility.
Live region mode specifying that accessibility services should interrupt ongoing speech to immediately announce changes to this view.
 Use with setAccessibilityLiveRegion(int).
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).
Live region mode specifying that accessibility services should announce changes to this view.
 Use with setAccessibilityLiveRegion(int).
Enables automatic quality mode for the drawing cache.
Enables high quality mode for the drawing cache.
Enables low quality mode for the drawing cache.
Find find views that contain the specified content description.
Find views that render the specified text.
View flag indicating whether addFocusables(ArrayList, int, int)
 should add all focusable Views regardless if they are focusable in touch mode.
View flag indicating whether addFocusables(ArrayList, int, int)
 should add only Views focusable in touch mode.
Use with focusSearch(int). Move focus to the previous selectable
 item.
Use with focusSearch(int). Move focus down.
Use with focusSearch(int). Move focus to the next selectable
 item.
Use with focusSearch(int). Move focus to the left.
Use with focusSearch(int). Move focus to the right.
Use with focusSearch(int). Move focus up.
This view is invisible, and it doesn't take any space for layout
 purposes. Use with setVisibility(int) and android:visibility.
View flag indicating whether this view should have haptic feedback enabled for events such as long presses.
Automatically determine whether a view is important for accessibility.
The view is not important for accessibility.
The view is not important for accessibility, nor are any of its descendant views.
The view is important for accessibility.
This view is invisible, but it still takes up space for layout purposes.
 Use with setVisibility(int) and android:visibility.
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
 FLAG_KEEP_SCREEN_ON.
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.
Indicates that the view does not have a layer.
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.)
Horizontal layout direction of this view is inherited from its parent.
 Use with setLayoutDirection(int).
Horizontal layout direction of this view is from deduced from the default language
 script for the locale. Use with setLayoutDirection(int).
Horizontal layout direction of this view is from Left to Right.
 Use with setLayoutDirection(int).
Horizontal layout direction of this view is from Right to Left.
 Use with setLayoutDirection(int).
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).
Bits of getMeasuredWidthAndState() and
 getMeasuredWidthAndState() that provide the actual measured size.
Bits of getMeasuredWidthAndState() and
 getMeasuredWidthAndState() that provide the additional state bits.
Bit of getMeasuredWidthAndState() and
 getMeasuredWidthAndState() that indicates the measured size
 is smaller that the space the view would like to have.
Used to mark a View that has no ID.
Always allow a user to over-scroll this view, provided it is a view that can scroll.
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.
Never allow a user to over-scroll this view.
Indicates that the screen has changed state and is now off.
Indicates that the screen has changed state and is now on.
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.
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.
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.
The scrollbar style to display the scrollbars at the edge of the view, without increasing the padding. The scrollbars will be overlaid with translucency.
Position the scroll bar at the default position as determined by the system.
Position the scroll bar along the left edge.
Position the scroll bar along the right edge.
Indicates scrolling along the horizontal axis.
Indicates no axis of view scrolling.
Indicates scrolling along the vertical axis.
Scroll indicator direction for the bottom edge of the view.
Scroll indicator direction for the ending edge of the view.
 Resolved according to the view's layout direction, see
 getLayoutDirection() for more information.
Scroll indicator direction for the left edge of the view.
Scroll indicator direction for the right edge of the view.
Scroll indicator direction for the starting edge of the view.
 Resolved according to the view's layout direction, see
 getLayoutDirection() for more information.
Scroll indicator direction for the top edge of the view.
View flag indicating whether this view should have sound effects enabled for events such as clicking and touching.
      This constant was deprecated
      in API level 14.
    Use SYSTEM_UI_FLAG_LOW_PROFILE instead.
  
      This constant was deprecated
      in API level 14.
    Use SYSTEM_UI_FLAG_VISIBLE 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.
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.
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.
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.
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(Rect) method.
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(Rect) method.
Flag for setSystemUiVisibility(int): When using other layout
 flags, we would like a stable view of the content insets given to
 fitSystemWindows(Rect).  This means that the insets seen there
 will always represent the worst case that the application can expect
 as a continuous state.  In the stock Android UI this is the space for
 the system bar, nav bar, and status bar, but not more transient elements
 such as an input method.
 The stable layout your UI sees is based on the system UI modes you can
 switch to.  That is, if you specify SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
 then you will get a stable layout for changes of the
 SYSTEM_UI_FLAG_FULLSCREEN mode; if you 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 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.
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.
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.
Special constant for setSystemUiVisibility(int): View has
 requested the system UI (status bar) to be visible (the default).
Flags that can impact the layout in relation to system UI.
Center the paragraph, e.g. ALIGN_CENTER.
 Use with setTextAlignment(int)
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)
Default text alignment. The text alignment of this View is inherited from its parent.
 Use with setTextAlignment(int)
Align to the end of the paragraph, e.g. ALIGN_OPPOSITE.
 Use with setTextAlignment(int)
Align to the start of the paragraph, e.g. ALIGN_NORMAL.
 Use with setTextAlignment(int)
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)
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)
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.
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.
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.
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.
Text direction is inherited through ViewGroup
Text direction is coming from the system Locale.
Text direction is forced to LTR.
Text direction is forced to RTL.
The logging tag used by this class with android.util.Log.
This view is visible.
 Use with setVisibility(int) and android:visibility.
A Property wrapper around the alpha functionality handled by the
 setAlpha(float) and getAlpha() methods.
Indicates the view has no states set. States are used with
 Drawable to change the drawing of the
 view depending on its state.
Indicates the view is enabled, focused and selected.
Indicates the view is enabled, focused, selected and its window has the focus.
Indicates the view is enabled and has the focus.
Indicates the view is enabled, focused and its window has the focus.
Indicates the view is enabled and selected.
Indicates the view is enabled, selected and its window has the focus.
Indicates the view is enabled. States are used with
 Drawable to change the drawing of the
 view depending on its state.
Indicates the view is enabled and that its window has focus.
Indicates the view is focused and selected.
Indicates the view is focused, selected and its window has the focus.
Indicates the view is focused. States are used with
 Drawable to change the drawing of the
 view depending on its state.
Indicates the view has the focus and that its window has the focus.
Indicates the view is pressed, enabled, focused and selected.
Indicates the view is pressed, enabled, focused, selected and its window has the focus.
Indicates the view is pressed, enabled and focused.
Indicates the view is pressed, enabled, focused and its window has the focus.
Indicates the view is pressed, enabled and selected.
Indicates the view is pressed, enabled, selected and its window has the focus.
Indicates the view is pressed and enabled.
Indicates the view is pressed, enabled and its window has the focus.
Indicates the view is pressed, focused and selected.
Indicates the view is pressed, focused, selected and its window has the focus.
Indicates the view is pressed and focused.
Indicates the view is pressed, focused and its window has the focus.
Indicates the view is pressed and selected.
Indicates the view is pressed, selected and its window has the focus.
Indicates the view is pressed. States are used with
 Drawable to change the drawing of the
 view depending on its state.
Indicates the view is pressed and its window has the focus.
A Property wrapper around the rotation functionality handled by the
 setRotation(float) and getRotation() methods.
A Property wrapper around the rotationX functionality handled by the
 setRotationX(float) and getRotationX() methods.
A Property wrapper around the rotationY functionality handled by the
 setRotationY(float) and getRotationY() methods.
A Property wrapper around the scaleX functionality handled by the
 setScaleX(float) and getScaleX() methods.
A Property wrapper around the scaleY functionality handled by the
 setScaleY(float) and getScaleY() methods.
Indicates the view is selected. States are used with
 Drawable to change the drawing of the
 view depending on its state.
Indicates the view is selected and that its window has the focus.
A Property wrapper around the translationX functionality handled by the
 setTranslationX(float) and getTranslationX() methods.
A Property wrapper around the translationY functionality handled by the
 setTranslationY(float) and getTranslationY() methods.
A Property wrapper around the translationZ functionality handled by the
 setTranslationZ(float) and getTranslationZ() methods.
Indicates the view's window has focus. States are used with
 Drawable to change the drawing of the
 view depending on its state.
A Property wrapper around the x functionality handled by the
 setX(float) and getX() methods.
A Property wrapper around the y functionality handled by the
 setY(float) and getY() methods.
A Property wrapper around the z functionality handled by the
 setZ(float) and getZ() methods.
Simple constructor to use when creating a view from code.
| context | The Context the view is running in, through which it can access the current theme, resources, etc. | 
|---|
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.
| context | The Context the view is running in, through which it can access the current theme, resources, etc. | 
|---|---|
| attrs | The attributes of the XML tag that is inflating the view. | 
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.
| context | The Context the view is running in, through which it can access the current theme, resources, etc. | 
|---|---|
| attrs | The attributes of the XML tag that is inflating the view. | 
| defStyleAttr | 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. | 
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:
 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.
| context | The Context the view is running in, through which it can access the current theme, resources, etc. | 
|---|---|
| attrs | The attributes of the XML tag that is inflating the view. | 
| defStyleAttr | 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 | 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. | 
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.
| outChildren | The output list that will receive children for accessibility. | 
|---|
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.
| views | Focusable views found so far or null if all we are interested is the number of focusables. | 
|---|---|
| direction | The direction of the focus. | 
| focusableMode | The type of focusables to be added. | 
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.
| views | Focusable views found so far | 
|---|---|
| direction | The direction of the focus | 
Add a listener for attach state changes.
 This listener will be called whenever this view is attached or detached
 from a window. Remove the listener using
 removeOnAttachStateChangeListener(OnAttachStateChangeListener).
| listener | Listener to attach | 
|---|
Add a listener that will be called when the bounds of the view change due to layout processing.
| listener | The listener that will be called when layout bounds change. | 
|---|
Add any touchable views that are descendants of this view (possibly including this view if it is touchable itself) to views.
| views | Touchable views found so far | 
|---|
This method returns a ViewPropertyAnimator object, which can be used to animate specific properties on this View.
Convenience method for sending a TYPE_ANNOUNCEMENT
 AccessibilityEvent to make an announcement which is related to some
 sort of a context change for which none of the events representing UI transitions
 is a good fit. For example, announcing a new page in a book. If accessibility
 is not enabled this method does nothing.
| text | The announcement text. | 
|---|
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 KITKAT this
 method should be followed by calls to requestLayout() and
 invalidate() on the view's parent to force the parent to redraw
 with the new child ordering.
Calling this method is equivalent to calling buildDrawingCache(false).
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.
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.
| IllegalStateException | If this view is not attached to a window | 
|---|
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.
Check if layout direction resolution can be done.
Check if text alignment resolution can be done.
Check if text direction resolution can be done.
Check if this view can be scrolled horizontally in a certain direction.
| direction | Negative to check scrolling left, positive to check scrolling right. | 
|---|
Check if this view can be scrolled vertically in a certain direction.
| direction | Negative to check scrolling up, positive to check scrolling down. | 
|---|
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.
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.
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.
| view | The View that is making the InputMethodManager call. | 
|---|
Called when this view wants to give up focus. If focus is cleared
 onFocusChanged(boolean, int, android.graphics.Rect) is called.
 
Note: When a View clears focus the framework is trying to give focus to the first focusable View from the top. 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.
Merge two states as returned by getMeasuredState().
| curState | The current state as returned from a view or the result of combining multiple views. | 
|---|---|
| newState | The new view state to combine. | 
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.
Compute insets that should be consumed by this view and the ones that should propagate to those under it.
| in | Insets currently being processed by this View, likely received as a parameter
           to onApplyWindowInsets(WindowInsets). | 
        
|---|---|
| outLocalInsets | A Rect that will receive the insets that should be consumed by this view | 
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(AccessibilityNodeInfo) on this view to
 initialize the former.
 
 Note: The client is responsible for recycling the obtained instance by calling
       recycle() to minimize object creation.
 
AccessibilityNodeInfo.Show the context menu for this view. It is not safe to hold on to the
 menu after returning from this method.
 You should normally not overload this method. Overload
 onCreateContextMenu(ContextMenu) or define an
 View.OnCreateContextMenuListener to add items to the context menu.
| menu | The context menu to populate | 
|---|
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.
Request to apply the given window insets to this view or another view in its subtree.
This method should be called by clients wishing to apply insets corresponding to areas obscured by window decorations or overlays. This can include the status and navigation bars, action bars, input methods and more. New inset categories may be added in the future. The method returns the insets provided minus any that were applied by this view or its children.
Clients wishing to provide custom behavior should override the
 onApplyWindowInsets(WindowInsets) method or alternatively provide a
 View.OnApplyWindowInsetsListener via the
 setOnApplyWindowInsetsListener
 method.
This method replaces the older fitSystemWindows method.
 
| insets | Insets to apply | 
|---|
Dispatch a notification about a resource configuration change down the view hierarchy. ViewGroups should override to route to their children.
| newConfig | The new resource configuration. | 
|---|
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.
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.
Dispatches drawableHotspotChanged to all of this View's children.
| x | hotspot x coordinate | 
|---|---|
| y | hotspot y coordinate | 
Dispatch a generic motion event.
 Generic motion events with source class SOURCE_CLASS_POINTER
 are delivered to the view under the pointer.  All other generic motion events are
 delivered to the focused view.  Hover events are handled specially and are delivered
 to onHoverEvent(MotionEvent).
 
| event | The motion event to be dispatched. | 
|---|
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.
| event | The key event to be dispatched. | 
|---|
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.
| event | The key event to be dispatched. | 
|---|
Dispatches a key shortcut event.
| event | The key event to be dispatched. | 
|---|
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.
| velocityX | Horizontal fling velocity in pixels per second | 
|---|---|
| velocityY | Vertical fling velocity in pixels per second | 
| consumed | true if the child consumed the fling, false otherwise | 
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:
dispatchNestedPreFling; consume the fling and settle to a valid
     position regardless.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.
| velocityX | Horizontal fling velocity in pixels per second | 
|---|---|
| velocityY | Vertical fling velocity in pixels per second | 
Report an accessibility action to this view's parents for delegated processing.
Implementations of performAccessibilityAction(int, Bundle) may internally
 call this method to delegate an accessibility action to a supporting parent. If the parent
 returns true from its
 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.
| action | Accessibility action to delegate | 
|---|---|
| arguments | Optional action arguments | 
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.
| dx | Horizontal scroll distance in pixels | 
|---|---|
| dy | Vertical scroll distance in pixels | 
| consumed | Output. If not null, consumed[0] will contain the consumed component of dx and consumed[1] the consumed dy. | 
| offsetInWindow | 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. | 
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.
| dxConsumed | Horizontal distance in pixels consumed by this view during this scroll step | 
|---|---|
| dyConsumed | Vertical distance in pixels consumed by this view during this scroll step | 
| dxUnconsumed | Horizontal scroll distance in pixels not consumed by this view | 
| dyUnconsumed | Horizontal scroll distance in pixels not consumed by this view | 
| offsetInWindow | 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. | 
Dispatches an AccessibilityEvent to the View first and then
 to its children for adding their text content to the event. Note that the
 event text is populated in a separate dispatch path since we add to the
 event not only the text of the source but also the text of all its descendants.
 A typical implementation will call
 onPopulateAccessibilityEvent(AccessibilityEvent) on the this view
 and then call the dispatchPopulateAccessibilityEvent(AccessibilityEvent)
 on each child. Override this method if custom population of the event text
 content is required.
 
 If an View.AccessibilityDelegate has been specified via calling
 setAccessibilityDelegate(AccessibilityDelegate) its
 dispatchPopulateAccessibilityEvent(View, AccessibilityEvent)
 is responsible for handling this call.
 
 Note: Accessibility events of certain types are not dispatched for
 populating the event text via this method. For details refer to AccessibilityEvent.
 
| event | The event. | 
|---|
Dispatch creation of ViewStructure down the hierarchy.  The default
 implementation calls onProvideStructure(ViewStructure) and
 onProvideVirtualStructure(ViewStructure).
Dispatch callbacks to setOnSystemUiVisibilityChangeListener(View.OnSystemUiVisibilityChangeListener) down
 the view hierarchy.
Pass the touch screen motion event down to the target view, or this view if it is the target.
| event | The motion event to be dispatched. | 
|---|
Pass a trackball motion event down to the focused view.
| event | The motion event to be dispatched. | 
|---|
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.
| focused | The currently focused view. | 
|---|---|
| direction | The direction focus wants to move. One of FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT, and FOCUS_RIGHT. | 
Called when the window containing this view gains or loses window focus. ViewGroups should override to route to their children.
| hasFocus | True if the window containing this view now has focus, false otherwise. | 
|---|
Dispatch callbacks to onWindowSystemUiVisibilityChanged(int) down
 the view hierarchy.
Dispatch a window visibility change down the view hierarchy. ViewGroups should override to route to their children.
| visibility | The new visibility of the window. | 
|---|
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.
| canvas | The Canvas to which the View is rendered. | 
|---|
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.
| x | hotspot x coordinate | 
|---|---|
| y | hotspot y coordinate | 
Find the view in the hierarchy rooted at this view that currently has focus.
Look for a child view with the given id. If this view has the given id, return this view.
| id | The id to search for. | 
|---|
Look for a child view with the given tag. If this view has the given tag, return this view.
| tag | The tag to search for, using "tag.equals(getTag())". | 
|---|
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.
| outViews | The output list of matching Views. | 
|---|---|
| searched | The text to match against. | 
Find the nearest view in the specified direction that can take focus. This does not actually give focus to that view.
| direction | One of FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT, and FOCUS_RIGHT | 
|---|
Forces this view to be laid out during the next layout pass. This method does not call requestLayout() or forceLayout() on the parent.
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.
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.
Gets the live region mode for this View.
Gets the provider for managing a virtual view hierarchy rooted at this View
 and reported to AccessibilityServices
 that explore the window content.
 
 If this method returns an instance, this instance is responsible for managing
 AccessibilityNodeInfos describing the virtual sub-tree rooted at this
 View including the one representing the View itself. Similarly the returned
 instance is responsible for performing accessibility actions on any virtual
 view or the root view itself.
 
 If an View.AccessibilityDelegate has been specified via calling
 setAccessibilityDelegate(AccessibilityDelegate) its
 getAccessibilityNodeProvider(View)
 is responsible for handling this call.
 
Gets the id of a view after which this one is visited in accessibility traversal.
NO_ID.Gets the id of a view before which this one is visited in accessibility traversal.
NO_ID.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.
Get the animation currently associated with this view.
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.
getWindowToken() or the containing window's token.
Gets the background drawable
Return the tint applied to the background drawable, if specified.
Return the blending mode used to apply the tint to the background drawable, if specified.
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.
Bottom position of this view relative to its parent.
Gets the distance along the Z axis from the camera to this view.
Returns a copy of the current clipBounds.
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.
| outRect | rectangle in which to place the clip bounds of the view | 
|---|
true if successful or false if the view's
         clip bounds are null
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
 canClip().
Gets the View description. It briefly describes the view and is
 primarily used for accessibility support. Set this property to enable
 better accessibility support for your application. This is especially
 true for views that do not have textual representation (For example,
 ImageButton).
Returns the context the view is running in, through which it can access the current theme, resources, etc.
Utility to return a default size. Uses the supplied size if the MeasureSpec imposed no constraints. Will get larger if allowed by the MeasureSpec.
| size | Default size for this view | 
|---|---|
| measureSpec | Constraints imposed by the parent | 
Gets the logical display to which the view's window has been attached.
Return an array of resource IDs of the drawable states representing the current state of the view.
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.
| autoScale | Indicates whether the generated bitmap should be scaled based on the current density of the screen when the application is in compatibility mode. | 
|---|
Calling this method is equivalent to calling getDrawingCache(false).
Returns the quality of the drawing cache.
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).
| outRect | The (scrolled) drawing bounds of the view. | 
|---|
Return the time at which the drawing of the view hierarchy started.
The base elevation of this view relative to its parent, in pixels.
Gets whether the framework should discard touches when the view's
 window is obscured by another visible window.
 Refer to the View security documentation for more details.
Check for state of setFitsSystemWindows(boolean). If this method
 returns true, the default implementation of fitSystemWindows(Rect)
 will be executed.
true if the default implementation of
 fitSystemWindows(Rect) will be executed.Find and return all focusable views that are descendants of this view, possibly including this view if it is focusable itself.
| direction | The direction of the focus | 
|---|
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.
| r | The rectangle to fill in, in this view's coordinates. | 
|---|
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.
Describes how the foreground is positioned.
Return the tint applied to the foreground drawable, if specified.
Return the blending mode used to apply the tint to the foreground drawable, if specified.
If some part of this view is not clipped by any of its parents, then return that area in r in global (root) coordinates. To convert r to local coordinates (without taking possible View rotations into account), offset it by -globalOffset (e.g. r.offset(-globalOffset.x, -globalOffset.y)). If the view is completely clipped or translated out, return false.
| r | If true is returned, r holds the global coordinates of the visible portion of this view. | 
|---|---|
| globalOffset | If true is returned, globalOffset holds the dx,dy between this view and its root. globalOffet may be null. | 
Return the height of your view.
Hit rectangle in parent's coordinates
| outRect | The hit rectangle of the view. | 
|---|
Returns the size of the horizontal faded edges used to indicate that more content in this view is visible.
Returns this view's identifier.
NO_ID
         if the view has no IDGets the mode for determining 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.
Returns whether the screen should remain on, corresponding to the current
 value of KEEP_SCREEN_ON.
KEEP_SCREEN_ON is set.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, KeyEvent).
Gets the id of a view for which this view serves as a label for accessibility purposes.
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 the resolved layout direction for this view.
LAYOUT_DIRECTION_RTL if the layout direction is RTL or returns
 LAYOUT_DIRECTION_LTR if the layout direction is not RTL.
 For compatibility, this will return LAYOUT_DIRECTION_LTR if API version
 is lower than JELLY_BEAN_MR1.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.
Left position of this view relative to its parent.
Computes the coordinates of this view in its window. The argument must be an array of two integers. After the method returns, the array contains the x and y location in that order.
| location | an array of two integers in which to hold the coordinates | 
|---|
Computes the coordinates of this view on the screen. The argument must be an array of two integers. After the method returns, the array contains the x and y location in that order.
| location | an array of two integers in which to hold the coordinates | 
|---|
The transform matrix of this view, which is calculated based on the current rotation, scale, and pivot properties.
Like getMeasuredHeightAndState(), but only returns the
 raw width component (that is the result is masked by
 MEASURED_SIZE_MASK).
Return the full height measurement information for this view as computed
 by the most recent call to measure(int, int).  This result is a bit mask
 as defined by MEASURED_SIZE_MASK and MEASURED_STATE_TOO_SMALL.
 This should be used during measurement and layout calculations only. Use
 getHeight() to see how wide a view is after layout.
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.
Like getMeasuredWidthAndState(), but only returns the
 raw width component (that is the result is masked by
 MEASURED_SIZE_MASK).
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 the minimum height of the view.
Returns the minimum width of the view.
Gets the id of the view to use when the next focus is FOCUS_DOWN.
NO_ID if the framework should decide automatically.Gets the id of the view to use when the next focus is FOCUS_FORWARD.
NO_ID if the framework should decide automatically.Gets the id of the view to use when the next focus is FOCUS_LEFT.
NO_ID if the framework should decide automatically.Gets the id of the view to use when the next focus is FOCUS_RIGHT.
NO_ID if the framework should decide automatically.Returns the focus-change callback registered for this view.
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 the over-scroll mode for this view. The result will be
 one of OVER_SCROLL_ALWAYS (default), OVER_SCROLL_IF_CONTENT_SCROLLS
 (allow over-scrolling only if the view content is larger than the container),
 or OVER_SCROLL_NEVER.
Returns 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 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 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 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 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 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 the top padding of this view.
Gets the parent of this view. Note that the parent is a ViewParent and not necessarily a View.
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 the resources associated with this view.
Right position of this view relative to its parent.
Finds the topmost view in the current view hierarchy.
Provide original WindowInsets that are dispatched to the view hierarchy. The insets are only available if the view is attached.
The degrees that the view is rotated around the pivot point.
The degrees that the view is rotated around the horizontal axis through the pivot point.
The degrees that the view is rotated around the vertical axis through the pivot point.
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.
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 the delay before scrollbars fade.
Returns the scrollbar fade duration.
Returns the current scrollbar style.
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.
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.
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.
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 the current StateListAnimator if exists.
Returns the last setSystemUiVisibility(int) that this view has requested.
Returns the tag associated with this view and the specified key.
| key | The key identifying the tag | 
|---|
null if not
         setReturns this view's tag.
null if not
         setReturn the resolved text alignment.
TEXT_ALIGNMENT_GRAVITY,
 TEXT_ALIGNMENT_CENTER,
 TEXT_ALIGNMENT_TEXT_START,
 TEXT_ALIGNMENT_TEXT_END,
 TEXT_ALIGNMENT_VIEW_START,
 TEXT_ALIGNMENT_VIEW_ENDReturn the resolved text direction.
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_RTLTop position of this view relative to its parent.
Find and return all touchable views that are descendants of this view, possibly including this view if it is touchable itself.
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.
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.
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.
The depth location of this view relative to its elevation.
Returns the size of the vertical faded edges used to indicate that more content in this view is visible.
Returns the width of the vertical scrollbar.
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 isAlive().
Returns the visibility status for this view.
Return the width of the your view.
Retrieve the WindowId for the window this view is
 currently attached to.
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.
Retrieve a unique token identifying the window this view is attached to.
WindowManager.LayoutParams.token.
Retrieve the overall visible display size in which the window this view is attached to has been positioned in. This takes into account screen decorations above the window, for both cases where the window itself is being position inside of them or the window is being placed under then and covered insets are used for the window to position its content inside. In effect, this tells you the available area where content can be placed and remain visible to users.
This function requires an IPC back to the window manager to retrieve the requested information, so should not be used in performance critical code like drawing.
| outRect | Filled in with the visible display frame. If the view is not attached to a window, this is simply the raw display size. | 
|---|
The visual x position of this view, in pixels. This is equivalent to the
 translationX property plus the current
 left property.
The visual y position of this view, in pixels. This is equivalent to the
 translationY property plus the current
 top property.
The visual z position of this view, in pixels. This is equivalent to the
 translationZ property plus the current
 elevation property.
Returns true if this view has focus itself, or is the ancestor of the view that has focus.
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.
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.
Return whether this view has an attached OnClickListener. Returns true if there is a listener, false if there is none.
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.
The current implementation of the saveLayer and saveLayerAlpha methods in Canvas
 necessitates that a View return true if it uses the methods internally without passing the
 CLIP_TO_LAYER_SAVE_FLAG.
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 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.
Inflate a view from an XML resource.  This convenience method wraps the LayoutInflater class, which provides a full range of options for view inflation.
| context | The Context object for your activity or application. | 
|---|---|
| resource | The resource ID to inflate | 
| root | A view group that will be the parent. Used to properly inflate the layout_* parameters. | 
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.
| dirty | the rectangle representing the bounds of the dirty region | 
|---|
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().
| l | the left position of the dirty region | 
|---|---|
| t | the top position of the dirty region | 
| r | the right position of the dirty region | 
| b | the bottom position of the dirty region | 
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().
Invalidates the specified Drawable.
| drawable | the drawable to invalidate | 
|---|
Called to rebuild this View's Outline from its outline provider
Returns whether this View is accessibility focused.
Indicates the activation state of this view.
Returns true if this view is currently attached to a window.
Indicates whether this view reacts to click events or not.
Indicates whether this view reacts to context clicks or not.
True if this view has changed since the last time being drawn.
Indicates whether the drawing cache is enabled for this view.
Indicates whether this duplicates its drawable state from its parent.
Returns the enabled status for this view. The interpretation of the enabled state varies by subclass.
Returns whether this View is able to take focus.
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
Returns true if this view has focus
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,
 isHardwareAccelerated() will likely
 return false, and this method will return true.
Indicate whether the horizontal edges are faded when the view is scrolled horizontally.
Indicate whether the horizontal scrollbar should be drawn or not. The scrollbar is not drawn by default.
Returns true if the view is currently hovered.
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_NO or
 IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS, return false
 
 IMPORTANT_FOR_ACCESSIBILITY_YES, return true
 IMPORTANT_FOR_ACCESSIBILITY_AUTO, return true if
 view satisfies any of the following:
 isClickable(),
 isLongClickable(), or isFocusable()
 View.AccessibilityDelegate
 View.OnTouchListener,
 View.OnKeyListener, etc.
 getAccessibilityLiveRegion() is not
 ACCESSIBILITY_LIVE_REGION_NONE.
 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 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 whether the device is currently in touch mode. Touch mode is entered once the user begins interacting with the device by touch, and affects various things like whether focus is always visible to the user.
Returns true if this view has been through at least one layout since it was last attached to or detached from a window.
Indicates whether or not this view's layout will be requested during the next hierarchy layout pass.
Indicates whether this view reacts to long click events or not.
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.
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.
Return if the padding has been set through relative values
 setPaddingRelative(int, int, int, int) or through
Indicates whether the view is currently in pressed state. Unless
 setPressed(boolean) is explicitly called, only clickable views can enter
 the pressed state.
Indicates whether this view will save its state (that is,
 whether its onSaveInstanceState() method will be called).
Indicates whether the entire hierarchy under this view will save its
 state when a state saving traversal occurs from its parent.  The default
 is true; if false, these views will not be saved unless
 saveHierarchyState(SparseArray) is called directly on this view.
Indicates whether this view is one of the set of scrollable containers in its window.
Returns true if scrollbars will fade when this view is not scrolling
Indicates the selection state of this view.
Returns the visibility of this view and all of its ancestors
VISIBLE
Indicate whether the vertical edges are faded when the view is scrolled horizontally.
Indicate whether the vertical scrollbar should be drawn or not. The scrollbar is not drawn by default.
Call Drawable.jumpToCurrentState()
 on all Drawable objects associated with this view.
 
 Also calls jumpToCurrentState() if there is a StateListAnimator
 attached to this view.
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.
| l | Left position, relative to parent | 
|---|---|
| t | Top position, relative to parent | 
| r | Right position, relative to parent | 
| b | Bottom position, relative to parent | 
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.
 
| widthMeasureSpec | Horizontal space requirements as imposed by the parent | 
|---|---|
| heightMeasureSpec | Vertical space requirements as imposed by the parent | 
Offset this view's horizontal location by the specified amount of pixels.
| offset | the number of pixels to offset the view by | 
|---|
Offset this view's vertical location by the specified number of pixels.
| offset | the number of pixels to offset the view by | 
|---|
Called when the view should apply WindowInsets according to its internal policy.
 
This method should be overridden by views that wish to apply a policy different from or
 in addition to the default behavior. Clients that wish to force a view subtree
 to apply insets should call dispatchApplyWindowInsets(WindowInsets).
Clients may supply an View.OnApplyWindowInsetsListener to a view. If one is set
 it will be called during dispatch instead of this method. The listener may optionally
 call this method from its own implementation if it wishes to apply the view's default
 insets policy in addition to its own.
Implementations of this method should either return the insets parameter unchanged
 or a new WindowInsets cloned from the supplied insets with any insets consumed
 that this view applied itself. This allows new inset types added in future platform
 versions to pass through existing implementations unchanged without being erroneously
 consumed.
By default if a view's fitsSystemWindows
 property is set then the view will consume the system window insets and apply them
 as padding for the view.
| insets | Insets to apply | 
|---|
Called as the result of a call to cancelPendingInputEvents() on this view or
 a parent view.
 
This method is responsible for removing any pending high-level input events that were
 posted to the event queue to run later. Custom view classes that post their own deferred
 high-level events via post(Runnable), postDelayed(Runnable, long) or
 Handler should override this method, call
 super.onCancelPendingInputEvents() and remove those callbacks as appropriate.
 
Check whether the called view is a text editor, in which case it
 would make sense to automatically display a soft input window for
 it.  Subclasses should override this if they implement
 onCreateInputConnection(EditorInfo) to return true if
 a call on that method would return a non-null InputConnection, and
 they are really a first-class editor that the user would normally
 start typing on when the go into a window containing your view.
 
The default implementation always returns false.  This does
 not mean that its onCreateInputConnection(EditorInfo)
 will not be called or the user can not otherwise perform edits on your
 view; it is just a hint to the system that this is not the primary
 purpose of this view.
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, initialSelStart
 and  initialSelEnd members
 must be filled in with the correct cursor position for IMEs to work correctly
 with your application.
| outAttrs | Fill in with attribute information about the connection. | 
|---|
Handles drag events sent by the system following a call to
 startDrag().
 When the system calls this method, it passes a
 DragEvent object. A call to
 getAction() returns one of the action type constants defined
 in DragEvent. The method uses these to determine what is happening in the drag and drop
 operation.
| event | The DragEvent sent by the system.
 The getAction() method returns an action type constant defined
 in DragEvent, indicating the type of drag event represented by this object. | 
        
|---|
true if the method was successful, otherwise false.
 
  The method should return true in response to an action type of
  ACTION_DRAG_STARTED to receive drag events for the current
  operation.
 
  The method should also return true in response to an action type of
  ACTION_DROP if it consumed the drop, or
  false if it didn't.
 
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.
| canvas | canvas to draw into | 
|---|
Filter the touch event to apply security policies.
| event | The motion event to be filtered. | 
|---|
Called after onStartTemporaryDetach() when the container is done
 changing the view.
Implement this method to handle generic motion events.
 Generic motion events describe joystick movements, mouse hovers, track pad
 touches, scroll wheel movements and other input events.  The
 source of the motion event specifies
 the class of input that was received.  Implementations of this method
 must examine the bits in the source before processing the event.
 The following code example shows how this is done.
 
 Generic motion events with source class SOURCE_CLASS_POINTER
 are delivered to the view under the pointer.  All other generic motion events are
 delivered to the focused view.
 
 public boolean onGenericMotionEvent(MotionEvent event) {
     if (event.isFromSource(InputDevice.SOURCE_CLASS_JOYSTICK)) {
         if (event.getAction() == MotionEvent.ACTION_MOVE) {
             // process the joystick movement...
             return true;
         }
     }
     if (event.isFromSource(InputDevice.SOURCE_CLASS_POINTER)) {
         switch (event.getAction()) {
             case MotionEvent.ACTION_HOVER_MOVE:
                 // process the mouse hover movement...
                 return true;
             case MotionEvent.ACTION_SCROLL:
                 // process the scroll wheel movement...
                 return true;
         }
     }
     return super.onGenericMotionEvent(event);
 }| event | The generic motion event being processed. | 
|---|
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).
 
| hovered | The current hover state, as returned by isHovered(). | 
        
|---|
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
 ACTION_HOVER_ENTER, ACTION_HOVER_MOVE,
 or ACTION_HOVER_EXIT.
 
ACTION_HOVER_ENTER
 when the pointer enters the bounds of the view.ACTION_HOVER_MOVE
 when the pointer has already entered the bounds of the view and has moved.ACTION_HOVER_EXIT
 when the pointer has exited the bounds of the view or when the pointer is
 about to go down due to a button click, tap, or similar user action that
 causes the view to be touched.The view should implement this method to return true to indicate that it is handling the hover event, such as by changing its drawable state.
 The default implementation calls setHovered(boolean) to update the hovered state
 of the view when a hover enter or hover exit event is received, if the view
 is enabled and is clickable.  The default implementation also sends hover
 accessibility events.
 
| event | The motion event that describes the hover. | 
|---|
Initializes an AccessibilityEvent with information about
 this View which is the event source. In other words, the source of
 an accessibility event is the view whose state change triggered firing
 the event.
 
Example: Setting the password property of an event in addition to properties set by the super implementation:
 public void onInitializeAccessibilityEvent(AccessibilityEvent event) {
     super.onInitializeAccessibilityEvent(event);
     event.setPassword(true);
 }
 
 If an View.AccessibilityDelegate has been specified via calling
 setAccessibilityDelegate(AccessibilityDelegate) its
 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.
| event | The event to initialize. | 
|---|
Initializes an AccessibilityNodeInfo with information about this view.
 The base implementation sets:
 
setParent(View),setBoundsInParent(Rect),setBoundsInScreen(Rect),setPackageName(CharSequence),setClassName(CharSequence),setContentDescription(CharSequence),setEnabled(boolean),setClickable(boolean),setFocusable(boolean),setFocused(boolean),setLongClickable(boolean),setSelected(boolean),setContextClickable(boolean)Subclasses should override this method, call the super implementation, and set additional attributes.
 If an View.AccessibilityDelegate has been specified via calling
 setAccessibilityDelegate(AccessibilityDelegate) its
 onInitializeAccessibilityNodeInfo(View, AccessibilityNodeInfo)
 is responsible for handling this call.
 
| info | The instance to initialize. | 
|---|
Default implementation of KeyEvent.Callback.onKeyDown(): perform press of the view
 when KEYCODE_DPAD_CENTER or 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.
| keyCode | A key code that represents the button pressed, from
                KeyEvent. | 
        
|---|---|
| event | The KeyEvent object that defines the button action. | 
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.
| keyCode | The value in event.getKeyCode(). | 
|---|---|
| event | Description of the key 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.
| keyCode | A key code that represents the button pressed, from
                    KeyEvent. | 
        
|---|---|
| repeatCount | The number of times the action was made. | 
| event | The KeyEvent object that defines the button action. | 
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.
| keyCode | The value in event.getKeyCode(). | 
|---|---|
| event | Description of the key 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.
| keyCode | The value in event.getKeyCode(). | 
|---|---|
| event | Description of the key event. | 
Default implementation of KeyEvent.Callback.onKeyUp(): perform clicking of the view
 when KEYCODE_DPAD_CENTER or
 KEYCODE_ENTER 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.
| keyCode | A key code that represents the button pressed, from
                KeyEvent. | 
        
|---|---|
| event | The KeyEvent object that defines the button action. | 
Called from dispatchPopulateAccessibilityEvent(AccessibilityEvent)
 giving a chance to this View to populate the accessibility event with its
 text content. While this method is free to modify event
 attributes other than text content, doing so should normally be performed in
 onInitializeAccessibilityEvent(AccessibilityEvent).
 
Example: Adding formatted date string to an accessibility event in addition to the text added by the super implementation:
 public void onPopulateAccessibilityEvent(AccessibilityEvent event) {
     super.onPopulateAccessibilityEvent(event);
     final int flags = DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_WEEKDAY;
     String selectedDateUtterance = DateUtils.formatDateTime(mContext,
         mCurrentDate.getTimeInMillis(), flags);
     event.getText().add(selectedDateUtterance);
 }
 
 If an View.AccessibilityDelegate has been specified via calling
 setAccessibilityDelegate(AccessibilityDelegate) its
 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.
| event | The accessibility event which to populate. | 
|---|
Called when assist structure is being retrieved from a view as part of
 Activity.onProvideAssistData.
| structure | Fill in with structured view data. The default implementation fills in all data that can be inferred from the view itself. | 
|---|
Called when assist structure is being retrieved from a view as part of
 Activity.onProvideAssistData to
 generate additional virtual structure under this view.  The defaullt implementation
 uses getAccessibilityNodeProvider() to try to generate this from the
 view's virtual accessibility nodes, if any.  You can override this for a more
 optimal implementation providing this data.
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.
| layoutDirection | the direction of the layout | 
|---|
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.)
| screenState | The new state of the screen. Can be either
                    SCREEN_STATE_ON or SCREEN_STATE_OFF
 | 
        
|---|
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.
Implement this method to handle touch screen motion events.
 If this method is used to detect click actions, it is recommended that
 the actions be performed by implementing and calling
 performClick(). This will ensure consistent system behavior,
 including:
 
ACTION_CLICK when
 accessibility features are enabled
 | event | The motion 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).
| event | The motion event. | 
|---|
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.
| hasWindowFocus | True if the window containing this view now has focus, false otherwise. | 
|---|
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(OnSystemUiVisibilityChangeListener)
 in that this is only telling you about the local request of the window,
 not the actual values applied by the system.
Performs the specified accessibility action on the view. For
 possible accessibility actions look at AccessibilityNodeInfo.
 
 If an View.AccessibilityDelegate has been specified via calling
 setAccessibilityDelegate(AccessibilityDelegate) its
 performAccessibilityAction(View, int, Bundle)
 is responsible for handling this call.
 
The default implementation will delegate
 ACTION_SCROLL_BACKWARD and
 ACTION_SCROLL_FORWARD to nested scrolling parents if
 nested scrolling is enabled on this view.
| action | The action to perform. | 
|---|---|
| arguments | Optional action arguments. | 
Call this view's OnClickListener, if it is defined. Performs all normal actions associated with clicking: reporting accessibility event, playing a sound, etc.
Call this view's OnContextClickListener, if it is defined.
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.
| feedbackConstant | One of the constants defined in
 HapticFeedbackConstants
 | 
        
|---|
BZZZTT!!1!
Like performHapticFeedback(int), with additional options.
| feedbackConstant | One of the constants defined in
 HapticFeedbackConstants | 
        
|---|---|
| flags | Additional flags as per HapticFeedbackConstants.
 | 
        
Call this view's OnLongClickListener, if it is defined. Invokes the context menu if the OnLongClickListener did not consume the event.
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.
| soundConstant | One of the constants defined in SoundEffectConstants
 | 
        
|---|
Causes the Runnable to be added to the message queue. The runnable will be run on the user interface thread.
| action | The Runnable that will be executed. | 
|---|
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.
| action | The Runnable that will be executed. | 
|---|---|
| delayMillis | The delay (in milliseconds) until the Runnable will be executed. | 
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.
| left | The left coordinate of the rectangle to invalidate. | 
|---|---|
| top | The top coordinate of the rectangle to invalidate. | 
| right | The right coordinate of the rectangle to invalidate. | 
| bottom | The bottom coordinate of the rectangle to invalidate. | 
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.
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.
| delayMilliseconds | the duration in milliseconds to delay the invalidation by | 
|---|---|
| left | The left coordinate of the rectangle to invalidate. | 
| top | The top coordinate of the rectangle to invalidate. | 
| right | The right coordinate of the rectangle to invalidate. | 
| bottom | The bottom coordinate of the rectangle to invalidate. | 
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.
| delayMilliseconds | the duration in milliseconds to delay the invalidation by | 
|---|
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.
| left | The left coordinate of the rectangle to invalidate. | 
|---|---|
| top | The top coordinate of the rectangle to invalidate. | 
| right | The right coordinate of the rectangle to invalidate. | 
| bottom | The bottom coordinate of the rectangle to invalidate. | 
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.
Causes the Runnable to execute on the next animation time step. The runnable will be run on the user interface thread.
| action | The Runnable that will be executed. | 
|---|
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.
| action | The Runnable that will be executed. | 
|---|---|
| delayMillis | The delay (in milliseconds) until the Runnable will be executed. | 
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.
Removes the specified Runnable from the message queue.
| action | The Runnable to remove from the message handling queue | 
|---|
Remove a listener for attach state changes. The listener will receive no further notification of window attach/detach events.
| listener | Listener to remove | 
|---|
Remove a listener for layout changes.
| listener | The listener for layout bounds change. | 
|---|
Ask that a new dispatch of onApplyWindowInsets(WindowInsets) be performed.
      This method was deprecated
      in API level 20.
    Use requestApplyInsets() for newer platform versions.
  
Ask that a new dispatch of fitSystemWindows(Rect) be performed.
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
 getDescendantFocusability() equal to
 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.
| direction | One of FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT, and FOCUS_RIGHT | 
|---|---|
| previouslyFocusedRect | 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. | 
Call this to try to give focus to a specific view or to one of its
 descendants and give it a hint about what direction focus is heading.
 A view will not actually take focus if it is not focusable (isFocusable() returns
 false), or if it is focusable and it is not focusable in touch mode
 (isFocusableInTouchMode()) while the device is in touch mode.
 See also focusSearch(int), which is what you call to say that you
 have focus, and you want your parent to look for the next one.
 This is equivalent to calling requestFocus(int, Rect) with
 null set for the previously focused rectangle.
| direction | One of FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT, and FOCUS_RIGHT | 
|---|
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 is focusable and it is not focusable in touch mode
 (isFocusableInTouchMode()) while the device is in touch mode.
 See also focusSearch(int), which is what you call to say that you
 have focus, and you want your parent to look for the next one.
 This is equivalent to calling requestFocus(int, Rect) with arguments
 FOCUS_DOWN and null.
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.
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.
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.
| rectangle | The 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.
When immediate is set to true, scrolling will not be
 animated.
| rectangle | The rectangle. | 
|---|---|
| immediate | True to forbid animated scrolling, false otherwise | 
Request unbuffered dispatch of the given stream of MotionEvents to this View.
 Until this View receives a corresponding ACTION_UP, ask that the input
 system not batch MotionEvents but instead deliver them as soon as they're
 available. This method should only be called for touch events.
 
This api is not intended for most applications. Buffered dispatch
 provides many of benefits, and just requesting unbuffered dispatch on most MotionEvent
 streams will not improve your input latency. Side effects include: increased latency,
 jittery scrolls and inability to take advantage of system resampling. Talk to your input
 professional to see if requestUnbufferedDispatch(MotionEvent) is right for
 you.
Version of resolveSizeAndState(int, int, int)
 returning only the MEASURED_SIZE_MASK bits of the result.
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.
| size | How big the view wants to be. | 
|---|---|
| measureSpec | Constraints imposed by the parent. | 
| childMeasuredState | Size information bit mask for the view's children. | 
MEASURED_SIZE_MASK and
         MEASURED_STATE_TOO_SMALL.
Restore this view hierarchy's frozen state from the given container.
| container | The SparseArray which holds previously frozen states. | 
|---|
Store this view hierarchy's frozen state into the given container.
| container | The SparseArray in which to save the view's state. | 
|---|
Schedules an action on a drawable to occur at a specified time.
| who | the recipient of the action | 
|---|---|
| what | the action to run on the drawable | 
| when | the time at which the action must occur. Uses the
        uptimeMillis() timebase.
 | 
        
Move the scrolled position of your view. This will cause a call to
 onScrollChanged(int, int, int, int) and the view will be
 invalidated.
| x | the amount of pixels to scroll by horizontally | 
|---|---|
| y | the amount of pixels to scroll by vertically | 
Set the scrolled position of your view. This will cause a call to
 onScrollChanged(int, int, int, int) and the view will be
 invalidated.
| x | the x position to scroll to | 
|---|---|
| y | the y position to scroll to | 
Sends an accessibility event of the given type. If accessibility is
 not enabled this method has no effect. The default implementation calls
 onInitializeAccessibilityEvent(AccessibilityEvent) first
 to populate information about the event source (this View), then calls
 dispatchPopulateAccessibilityEvent(AccessibilityEvent) to
 populate the text content of the event source including its descendants,
 and last calls
 requestSendAccessibilityEvent(View, AccessibilityEvent)
 on its parent to request sending of the event to interested parties.
 
 If an View.AccessibilityDelegate has been specified via calling
 setAccessibilityDelegate(AccessibilityDelegate) its
 sendAccessibilityEvent(View, int) is
 responsible for handling this call.
 
| eventType | The type of the event to send, as defined by several types from
 AccessibilityEvent, such as
 TYPE_VIEW_CLICKED or
 TYPE_VIEW_HOVER_ENTER. | 
        
|---|
This method behaves exactly as sendAccessibilityEvent(int) but
 takes as an argument an empty AccessibilityEvent and does not
 perform a check whether accessibility is enabled.
 
 If an View.AccessibilityDelegate has been specified via calling
 setAccessibilityDelegate(AccessibilityDelegate) its
 sendAccessibilityEventUnchecked(View, AccessibilityEvent)
 is responsible for handling this call.
 
| event | The event to send. | 
|---|
Sets a delegate for implementing accessibility support via composition as
 opposed to inheritance. The delegate's primary use is for implementing
 backwards compatible widgets. For more details see View.AccessibilityDelegate.
| delegate | The delegate instance. | 
|---|
Sets the live region mode for this view. This indicates to accessibility services whether they should automatically notify the user about changes to the view's content description or text, or to the content descriptions or text of the view's children (where applicable).
 For example, in a login screen with a TextView that displays an "incorrect
 password" notification, that view should be marked as a live region with
 mode ACCESSIBILITY_LIVE_REGION_POLITE.
 
 To disable change notifications for this view, use
 ACCESSIBILITY_LIVE_REGION_NONE. This is the default live region
 mode for most views.
 
 To indicate that the user should be notified of changes, use
 ACCESSIBILITY_LIVE_REGION_POLITE.
 
 If the view's changes should interrupt ongoing speech and notify the user
 immediately, use ACCESSIBILITY_LIVE_REGION_ASSERTIVE.
| mode | The live region mode for this view, one of: | 
|---|
Sets the id of a view after which this one is visited in accessibility traversal. A screen-reader must visit the content of the other view before the content of this one. For example, if view B is set to be after view A, then a screen-reader will traverse the entire content of A before traversing the entire content of B, regardles of what traversal strategy it is using.
Views that do not have specified before/after relationships are traversed in order determined by the screen-reader.
Setting that this view is after a view that is not important for accessibility or if this view is not important for accessibility will have no effect as the screen-reader is not aware of unimportant views.
| afterId | The id of a view this one succedees in accessibility traversal. | 
|---|
Sets the id of a view before which this one is visited in accessibility traversal. A screen-reader must visit the content of this view before the content of the one it precedes. For example, if view B is set to be before view A, then a screen-reader will traverse the entire content of B before traversing the entire content of A, regardles of what traversal strategy it is using.
Views that do not have specified before/after relationships are traversed in order determined by the screen-reader.
Setting that this view is before a view that is not important for accessibility or if this view is not important for accessibility will have no effect as the screen-reader is not aware of unimportant views.
| beforeId | The id of a view this one precedes in accessibility traversal. | 
|---|
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.
| activated | true if the view must be activated, false otherwise | 
|---|
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 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
 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 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 M, setting a translucent alpha
 value will clip a View to its bounds, unless the View returns false from
 hasOverlappingRendering().
| alpha | The opacity of the view. | 
|---|
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.
| animation | The next animation, or null. | 
|---|
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).
| background | The Drawable to use as the background, or null to remove the background | 
|---|
Sets the background color for this view.
| color | the color of the background | 
|---|
Set the background to a given resource. The resource should refer to a Drawable object or 0 to remove the background.
| resid | The identifier of the resource. | 
|---|
Applies a tint to the background drawable. Does not modify the current tint
 mode, which is SRC_IN by default.
 
 Subsequent calls to setBackground(Drawable) will automatically
 mutate the drawable and apply the specified tint and tint mode using
 setTintList(ColorStateList).
| tint | the tint to apply, may be null to clear tint | 
        
|---|
Specifies the blending mode used to apply the tint specified by
 setBackgroundTintList(ColorStateList)} to the background
 drawable. The default mode is SRC_IN.
| tintMode | the blending mode used to apply the tint, may be
                 null to clear tint | 
        
|---|
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.
| bottom | The bottom of this view, in pixels. | 
|---|
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.
| distance | The distance in "depth pixels", if negative the opposite value is used | 
|---|
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.
| clickable | true to make the view clickable, false otherwise | 
|---|
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.
| clipBounds | The rectangular area, in the local coordinates of this view, to which future drawing operations will be clipped. | 
|---|
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
 canClip().
Sets the View description. It briefly describes the view and is
 primarily used for accessibility support. Set this property to enable
 better accessibility support for your application. This is especially
 true for views that do not have textual representation (For example,
 ImageButton).
| contentDescription | The content description. | 
|---|
Enables or disables context clicking for this view. This event can launch the listener.
| contextClickable | true to make the view react to a context click, false otherwise | 
|---|
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.
| color | The background color to use for the drawing cache's bitmap | 
|---|
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().
| enabled | true to enable the drawing cache, false otherwise | 
|---|
Set the drawing cache quality of this view. This value is used only when the drawing cache is enabled
| quality | One of DRAWING_CACHE_QUALITY_AUTO,
        DRAWING_CACHE_QUALITY_LOW, or DRAWING_CACHE_QUALITY_HIGH | 
        
|---|
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.
| enabled | True to enable duplication of the parent's drawable state, false to disable it. | 
|---|
Sets the base elevation of this view, in pixels.
Set the enabled state of this view. The interpretation of the enabled state varies by subclass.
| enabled | True if this view is enabled, false otherwise. | 
|---|
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.
| length | The size in pixels of the faded edge used to indicate that more content in this view is visible. | 
|---|
Sets whether the framework should discard touches when the view's
 window is obscured by another visible window.
 Refer to the View security documentation for more details.
| enabled | True if touch filtering should be enabled. | 
|---|
Sets whether or not this view should account for system screen decorations
 such as the status bar and inset its content; that is, controlling whether
 the default implementation of fitSystemWindows(Rect) will be
 executed.  See that method for more details.
 
Note that if you are providing your own implementation of
 fitSystemWindows(Rect), then there is no need to set this
 flag to true -- your implementation will be overriding the default
 implementation that checks this flag.
| fitSystemWindows | If true, then the default implementation of
 fitSystemWindows(Rect) will be executed. | 
        
|---|
Set whether this view can receive the focus. Setting this to false will also ensure that this view is not focusable in touch mode.
| focusable | If true, this view can receive the focus. | 
|---|
Set whether this view can receive focus while in touch mode. Setting this to true will also ensure that this view is focusable.
| focusableInTouchMode | If true, this view can receive the focus while in touch mode. | 
|---|
Supply a Drawable that is to be rendered on top of all of the content in the view.
| foreground | the Drawable to be drawn on top of the children | 
|---|
Describes how the foreground is positioned. Defaults to START and TOP.
| gravity | see Gravity | 
        
|---|
Applies a tint to the foreground drawable. Does not modify the current tint
 mode, which is SRC_IN by default.
 
 Subsequent calls to setForeground(Drawable) will automatically
 mutate the drawable and apply the specified tint and tint mode using
 setTintList(ColorStateList).
| tint | the tint to apply, may be null to clear tint | 
        
|---|
Specifies the blending mode used to apply the tint specified by
 setForegroundTintList(ColorStateList)} to the background
 drawable. The default mode is SRC_IN.
| tintMode | the blending mode used to apply the tint, may be
                 null to clear tint | 
        
|---|
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.
| hapticFeedbackEnabled | whether haptic feedback enabled for this view. | 
|---|
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.
| hasTransientState | true if this view has transient state | 
|---|
Define whether the horizontal edges should be faded when this view is scrolled horizontally.
| horizontalFadingEdgeEnabled | true if the horizontal edges should be faded when the view is scrolled horizontally | 
|---|
Define whether the horizontal scrollbar should be drawn or not. The scrollbar is not drawn by default.
| horizontalScrollBarEnabled | true if the horizontal scrollbar should be painted | 
|---|
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.
 
| hovered | True if the view is hovered. | 
|---|
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.
| id | a number used to identify the view | 
|---|
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.
| mode | How to determine whether this view is important for accessibility. | 
|---|
Controls whether the screen should remain on, modifying the
 value of KEEP_SCREEN_ON.
| keepScreenOn | Supply true to set KEEP_SCREEN_ON. | 
        
|---|
Sets the id of a view for which this view serves as a label for accessibility purposes.
| id | The labeled view id. | 
|---|
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.
| paint | The paint used to compose the layer. This argument is optional
        and can be null. It is ignored when the layer type is
        LAYER_TYPE_NONE | 
        
|---|
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.
| layerType | The type of layer to use with this view, must be one of
        LAYER_TYPE_NONE, LAYER_TYPE_SOFTWARE or
        LAYER_TYPE_HARDWARE | 
        
|---|---|
| paint | The paint used to compose the layer. This argument is optional
        and can be null. It is ignored when the layer type is
        LAYER_TYPE_NONE | 
        
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.
| layoutDirection | 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 default LAYOUT_DIRECTION_LTR. | 
        
|---|
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.
| params | The layout parameters for this view, cannot be null | 
|---|
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.
| left | The left of this view, in pixels. | 
|---|
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.
| longClickable | true to make the view long clickable, false otherwise | 
|---|
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).
| minHeight | The minimum height the view will try to be. | 
|---|
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).
| minWidth | The minimum width the view will try to be. | 
|---|
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.
| enabled | true to enable nested scrolling, false to disable | 
|---|
Sets the id of the view to use when the next focus is FOCUS_DOWN.
| nextFocusDownId | The next focus ID, or NO_ID if the framework should
 decide automatically. | 
        
|---|
Sets the id of the view to use when the next focus is FOCUS_FORWARD.
| nextFocusForwardId | The next focus ID, or NO_ID if the framework should
 decide automatically. | 
        
|---|
Sets the id of the view to use when the next focus is FOCUS_LEFT.
| nextFocusLeftId | The next focus ID, or NO_ID if the framework should
 decide automatically. | 
        
|---|
Sets the id of the view to use when the next focus is FOCUS_RIGHT.
| nextFocusRightId | The next focus ID, or NO_ID if the framework should
 decide automatically. | 
        
|---|
Set an View.OnApplyWindowInsetsListener to take over the policy for applying
 window insets to this view. The listener's
 onApplyWindowInsets
 method will be called instead of the view's
 onApplyWindowInsets method.
| listener | Listener to set | 
|---|
Register a callback to be invoked when this view is clicked. If this view is not clickable, it becomes clickable.
| l | The callback that will run | 
|---|
Register a callback to be invoked when this view is context clicked. If the view is not context clickable, it becomes context clickable.
| l | The callback that will run | 
|---|
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.
| l | The callback that will run | 
|---|
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
 onDrag(View, DragEvent) method.
| l | An implementation of View.OnDragListener.
 | 
        
|---|
Register a callback to be invoked when focus of this view changed.
| l | The callback that will run. | 
|---|
Register a callback to be invoked when a generic motion event is sent to this view.
| l | the generic motion listener to attach to this view | 
|---|
Register a callback to be invoked when a hover event is sent to this view.
| l | the hover listener to attach to this view | 
|---|
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.
| l | the key listener to attach to this view | 
|---|
Register a callback to be invoked when this view is clicked and held. If this view is not long clickable, it becomes long clickable.
| l | The callback that will run | 
|---|
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.
| l | The listener to notify when the scroll X or Y position changes. | 
|---|
Set a listener to receive callbacks when the visibility of the system bar changes.
| l | The View.OnSystemUiVisibilityChangeListener to receive callbacks.
 | 
        
|---|
Register a callback to be invoked when a touch event is sent to this view.
| l | the touch listener to attach to this view | 
|---|
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, BACKGROUND, queries the Outline
 from the View's background drawable, via 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 isEmpty(), shadows will not be cast.
 
 Only outlines that return true from canClip() may be used for clipping.
Set the over-scroll mode for this view. Valid over-scroll modes are
 OVER_SCROLL_ALWAYS (default), OVER_SCROLL_IF_CONTENT_SCROLLS
 (allow over-scrolling only if the view content is larger than the container),
 or OVER_SCROLL_NEVER.
 Setting the over-scroll mode of a view will have an effect only if the
 view is capable of scrolling.
| overScrollMode | The new over-scroll mode for this view. | 
|---|
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.
| left | the left padding in pixels | 
|---|---|
| top | the top padding in pixels | 
| right | the right padding in pixels | 
| bottom | the bottom padding in pixels | 
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.
| start | the start padding in pixels | 
|---|---|
| top | the top padding in pixels | 
| end | the end padding in pixels | 
| bottom | the bottom padding in pixels | 
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.
| pivotX | The x location of the pivot point. | 
|---|
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.
| pivotY | The y location of the pivot point. | 
|---|
Sets the pressed state for this view.
| pressed | 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. | 
|---|
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.
| right | The right of this view, in pixels. | 
|---|
Sets the degrees that the view is rotated around the pivot point. Increasing values result in clockwise rotation.
| rotation | The degrees of rotation. | 
|---|
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.
| rotationX | The degrees of X rotation. | 
|---|
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.
| rotationY | The degrees of Y rotation. | 
|---|
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.
| enabled | Set to false to disable state saving, or true (the default) to allow it. | 
|---|
Controls whether the entire hierarchy under this view will save its
 state when a state saving traversal occurs from its parent.  The default
 is true; if false, these views will not be saved unless
 saveHierarchyState(SparseArray) is called directly on this view.
| enabled | Set to false to disable state saving, or true (the default) to allow it. | 
|---|
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.
| scaleX | The scaling factor. | 
|---|
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.
| scaleY | The scaling factor. | 
|---|
Define the delay before scrollbars fade.
| scrollBarDefaultDelayBeforeFade | - the delay before scrollbars fade | 
|---|
Define the scrollbar fade duration.
| scrollBarFadeDuration | - the scrollbar fade duration | 
|---|
Define the scrollbar size.
| scrollBarSize | - the scrollbar size | 
|---|
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.
| style | the style of the scrollbars. Should be one of SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_INSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY or SCROLLBARS_OUTSIDE_INSET. | 
|---|
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.
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
| indicators | the indicator direction, or the logical OR of multiple indicator directions. One or more of: | 
|---|
Sets the state of all scroll indicators.
 See setScrollIndicators(int, int) for usage information.
| indicators | a bitmask of indicators that should be enabled, or
                   0 to disable all indicators | 
        
|---|
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.
| value | the x position to scroll to | 
|---|
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.
| value | the y position to scroll to | 
|---|
Define whether scrollbars will fade when the view is not scrolling.
| fadeScrollbars | whether to enable fading | 
|---|
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.
| selected | true if the view must be selected, false otherwise | 
|---|
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.
| soundEffectsEnabled | whether sound effects are enabled for this view. | 
|---|
Attaches the provided StateListAnimator to this View.
Any previously attached StateListAnimator will be detached.
| stateListAnimator | The StateListAnimator to update the view | 
|---|
Request that the visibility of the status bar or other screen/window decorations be changed.
This method is used to put the over device UI into temporary modes
 where the user's attention is focused more on the application content,
 by dimming or hiding surrounding system affordances.  This is typically
 used in conjunction with Window.FEATURE_ACTION_BAR_OVERLAY, allowing the applications content
 to be placed behind the action bar (and with these flags other system
 affordances) so that smooth transitions between hiding and showing them
 can be done.
 
Two representative examples of the use of system UI visibility is implementing a content browsing application (like a magazine reader) and a video playing application.
The first code shows a typical implementation of a View in a content browsing application. In this implementation, the application goes into a content-oriented mode by hiding the status bar and action bar, and putting the navigation elements into lights out mode. The user can then interact with content while in this mode. Such an application should provide an easy way for the user to toggle out of the mode (such as to check information in the status bar or access notifications). In the implementation here, this is done simply by tapping on the content.
public static class Content extends ScrollView
        implements View.OnSystemUiVisibilityChangeListener, View.OnClickListener {
    TextView mText;
    TextView mTitleView;
    SeekBar mSeekView;
    boolean mNavVisible;
    int mBaseSystemUiVisibility = SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
            | SYSTEM_UI_FLAG_LAYOUT_STABLE;
    int mLastSystemUiVis;
    Runnable mNavHider = new Runnable() {
        @Override public void run() {
            setNavVisibility(false);
        }
    };
    public Content(Context context, AttributeSet attrs) {
        super(context, attrs);
        mText = new TextView(context);
        mText.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16);
        mText.setText(context.getString(R.string.alert_dialog_two_buttons2ultra_msg));
        mText.setClickable(false);
        mText.setOnClickListener(this);
        mText.setTextIsSelectable(true);
        addView(mText, new ViewGroup.LayoutParams(
                ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
        setOnSystemUiVisibilityChangeListener(this);
    }
    public void init(TextView title, SeekBar seek) {
        // This called by the containing activity to supply the surrounding
        // state of the content browser that it will interact with.
        mTitleView = title;
        mSeekView = seek;
        setNavVisibility(true);
    }
    @Override public void onSystemUiVisibilityChange(int visibility) {
        // Detect when we go out of low-profile mode, to also go out
        // of full screen.  We only do this when the low profile mode
        // is changing from its last state, and turning off.
        int diff = mLastSystemUiVis ^ visibility;
        mLastSystemUiVis = visibility;
        if ((diff&SYSTEM_UI_FLAG_LOW_PROFILE) != 0
                && (visibility&SYSTEM_UI_FLAG_LOW_PROFILE) == 0) {
            setNavVisibility(true);
        }
    }
    @Override protected void onWindowVisibilityChanged(int visibility) {
        super.onWindowVisibilityChanged(visibility);
        // When we become visible, we show our navigation elements briefly
        // before hiding them.
        setNavVisibility(true);
        getHandler().postDelayed(mNavHider, 2000);
    }
    @Override protected void onScrollChanged(int l, int t, int oldl, int oldt) {
        super.onScrollChanged(l, t, oldl, oldt);
        // When the user scrolls, we hide navigation elements.
        setNavVisibility(false);
    }
    @Override public void onClick(View v) {
        // When the user clicks, we toggle the visibility of navigation elements.
        int curVis = getSystemUiVisibility();
        setNavVisibility((curVis&SYSTEM_UI_FLAG_LOW_PROFILE) != 0);
    }
    void setBaseSystemUiVisibility(int visibility) {
        mBaseSystemUiVisibility = visibility;
    }
    void setNavVisibility(boolean visible) {
        int newVis = mBaseSystemUiVisibility;
        if (!visible) {
            newVis |= SYSTEM_UI_FLAG_LOW_PROFILE | SYSTEM_UI_FLAG_FULLSCREEN;
        }
        final boolean changed = newVis == getSystemUiVisibility();
        // Unschedule any pending event to hide navigation if we are
        // changing the visibility, or making the UI visible.
        if (changed || visible) {
            Handler h = getHandler();
            if (h != null) {
                h.removeCallbacks(mNavHider);
            }
        }
        // Set the new desired visibility.
        setSystemUiVisibility(newVis);
        mTitleView.setVisibility(visible ? VISIBLE : INVISIBLE);
        mSeekView.setVisibility(visible ? VISIBLE : INVISIBLE);
    }
}
 This second code sample shows a typical implementation of a View
 in a video playing application.  In this situation, while the video is
 playing the application would like to go into a complete full-screen mode,
 to use as much of the display as possible for the video.  When in this state
 the user can not interact with the application; the system intercepts
 touching on the screen to pop the UI out of full screen mode.  See
 fitSystemWindows(Rect) for a sample layout that goes with this code.
 
public static class Content extends ImageView implements
        View.OnSystemUiVisibilityChangeListener, View.OnClickListener,
        ActionBar.OnMenuVisibilityListener {
    Activity mActivity;
    TextView mTitleView;
    Button mPlayButton;
    SeekBar mSeekView;
    boolean mAddedMenuListener;
    boolean mMenusOpen;
    boolean mPaused;
    boolean mNavVisible;
    int mLastSystemUiVis;
    Runnable mNavHider = new Runnable() {
        @Override public void run() {
            setNavVisibility(false);
        }
    };
    public Content(Context context, AttributeSet attrs) {
        super(context, attrs);
        setOnSystemUiVisibilityChangeListener(this);
        setOnClickListener(this);
    }
    public void init(Activity activity, TextView title, Button playButton,
            SeekBar seek) {
        // This called by the containing activity to supply the surrounding
        // state of the video player that it will interact with.
        mActivity = activity;
        mTitleView = title;
        mPlayButton = playButton;
        mSeekView = seek;
        mPlayButton.setOnClickListener(this);
        setPlayPaused(true);
    }
    @Override protected void onAttachedToWindow() {
        super.onAttachedToWindow();
        if (mActivity != null) {
            mAddedMenuListener = true;
            mActivity.getActionBar().addOnMenuVisibilityListener(this);
        }
    }
    @Override protected void onDetachedFromWindow() {
        super.onDetachedFromWindow();
        if (mAddedMenuListener) {
            mActivity.getActionBar().removeOnMenuVisibilityListener(this);
        }
    }
    @Override public void onSystemUiVisibilityChange(int visibility) {
        // Detect when we go out of nav-hidden mode, to clear our state
        // back to having the full UI chrome up.  Only do this when
        // the state is changing and nav is no longer hidden.
        int diff = mLastSystemUiVis ^ visibility;
        mLastSystemUiVis = visibility;
        if ((diff&SYSTEM_UI_FLAG_HIDE_NAVIGATION) != 0
                && (visibility&SYSTEM_UI_FLAG_HIDE_NAVIGATION) == 0) {
            setNavVisibility(true);
        }
    }
    @Override protected void onWindowVisibilityChanged(int visibility) {
        super.onWindowVisibilityChanged(visibility);
        // When we become visible or invisible, play is paused.
        setPlayPaused(true);
    }
    @Override public void onClick(View v) {
        if (v == mPlayButton) {
            // Clicking on the play/pause button toggles its state.
            setPlayPaused(!mPaused);
        } else {
            // Clicking elsewhere makes the navigation visible.
            setNavVisibility(true);
        }
    }
    @Override public void onMenuVisibilityChanged(boolean isVisible) {
        mMenusOpen = isVisible;
        setNavVisibility(true);
    }
    void setPlayPaused(boolean paused) {
        mPaused = paused;
        mPlayButton.setText(paused ? R.string.play : R.string.pause);
        setKeepScreenOn(!paused);
        setNavVisibility(true);
    }
    void setNavVisibility(boolean visible) {
        int newVis = SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                | SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                | SYSTEM_UI_FLAG_LAYOUT_STABLE;
        if (!visible) {
            newVis |= SYSTEM_UI_FLAG_LOW_PROFILE | SYSTEM_UI_FLAG_FULLSCREEN
                    | SYSTEM_UI_FLAG_HIDE_NAVIGATION;
        }
        // If we are now visible, schedule a timer for us to go invisible.
        if (visible) {
            Handler h = getHandler();
            if (h != null) {
                h.removeCallbacks(mNavHider);
                if (!mMenusOpen && !mPaused) {
                    // If the menus are open or play is paused, we will not auto-hide.
                    h.postDelayed(mNavHider, 3000);
                }
            }
        }
        // Set the new desired visibility.
        setSystemUiVisibility(newVis);
        mTitleView.setVisibility(visible ? VISIBLE : INVISIBLE);
        mPlayButton.setVisibility(visible ? VISIBLE : INVISIBLE);
        mSeekView.setVisibility(visible ? VISIBLE : INVISIBLE);
    }
}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.
| key | The key identifying the tag | 
|---|---|
| tag | An Object to tag the view with | 
| IllegalArgumentException | If they specified key is not valid | 
|---|
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.
| tag | an Object to tag the view with | 
|---|
Set the text alignment.
| textAlignment | The text alignment to set. Should be one of
 TEXT_ALIGNMENT_INHERIT,
 TEXT_ALIGNMENT_GRAVITY,
 TEXT_ALIGNMENT_CENTER,
 TEXT_ALIGNMENT_TEXT_START,
 TEXT_ALIGNMENT_TEXT_END,
 TEXT_ALIGNMENT_VIEW_START,
 TEXT_ALIGNMENT_VIEW_END
 Resolution will be done if the value is set to TEXT_ALIGNMENT_INHERIT. The resolution
 proceeds up the parent chain of the view to get the value. If there is no parent, then it
 will return the default TEXT_ALIGNMENT_GRAVITY. | 
        
|---|
Set the text direction.
| textDirection | 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_LOCALE
 TEXT_DIRECTION_FIRST_STRONG_LTR,
 TEXT_DIRECTION_FIRST_STRONG_RTL,
 Resolution will be done if the value is set to TEXT_DIRECTION_INHERIT. The resolution
 proceeds up the parent chain of the view to get the value. If there is no parent, then it will
 return the default TEXT_DIRECTION_FIRST_STRONG. | 
        
|---|
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.
| top | The top of this view, in pixels. | 
|---|
Sets the TouchDelegate for this View.
Sets the name of the View to be used to identify Views in Transitions. Names should be unique in the View hierarchy.
| transitionName | The name of the View to uniquely identify it for Transitions. | 
|---|
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.
| translationX | The horizontal position of this view relative to its left position, in pixels. | 
|---|
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.
| translationY | The vertical position of this view relative to its top position, in pixels. | 
|---|
Sets the depth location of this view relative to its elevation.
Define whether the vertical edges should be faded when this view is scrolled vertically.
| verticalFadingEdgeEnabled | true if the vertical edges should be faded when the view is scrolled vertically | 
|---|
Define whether the vertical scrollbar should be drawn or not. The scrollbar is not drawn by default.
| verticalScrollBarEnabled | true if the vertical scrollbar should be painted | 
|---|
Set the position of the vertical scroll bar. Should be one of
 SCROLLBAR_POSITION_DEFAULT, SCROLLBAR_POSITION_LEFT or
 SCROLLBAR_POSITION_RIGHT.
| position | Where the vertical scroll bar should be positioned. | 
|---|
Set the enabled state of this view.
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.
| willNotCacheDrawing | true if this view does not cache its drawing, false otherwise | 
|---|
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.
| willNotDraw | whether or not this View draw on its own | 
|---|
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.
| x | The visual x position of this view, in pixels. | 
|---|
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.
| y | The visual y position of this view, in pixels. | 
|---|
Sets the visual z position of this view, in pixels. This is equivalent to setting the
 translationZ property to be the difference between
 the x value passed in and the current elevation property.
| z | The visual z position of this view, in pixels. | 
|---|
Bring up the context menu for this view.
Start an action mode with the given type.
| callback | Callback that will control the lifecycle of the action mode | 
|---|---|
| type | One of TYPE_PRIMARY or TYPE_FLOATING. | 
        
Start an action mode with the default type TYPE_PRIMARY.
| callback | Callback that will control the lifecycle of the action mode | 
|---|
Start the specified animation now.
| animation | the animation to start now | 
|---|
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 onProvideShadowMetrics(Point, Point)
 to get metrics for the drag shadow, and then calls the object's
 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
  getAction() value of
  ACTION_DRAG_STARTED.
 
 Your application can invoke startDrag() 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.
 
| data | A ClipData object pointing to the data to be
 transferred by the drag and drop operation. | 
        
|---|---|
| shadowBuilder | A View.DragShadowBuilder object for building the
 drag shadow. | 
        
| myLocalState | An Object containing local data about the drag and
 drop operation. This Object is put into every DragEvent object sent by the system during the
 current drag.
 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 | Flags that control the drag and drop operation. No flags are currently defined, so the parameter should be set to 0. | 
true if the method completes successfully, or
 false if it fails anywhere. Returning false means the system was unable to
 do a drag, and so no drag operation is in progress.
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 ACTION_DOWN.
 In the case of touch scrolling the nested scroll will be terminated automatically in
 the same manner as 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 onNestedScroll(View, int, int, int, int).
 
| axes | Flags consisting of a combination of SCROLL_AXIS_HORIZONTAL and/or
             SCROLL_AXIS_VERTICAL. | 
        
|---|
Stop a nested scroll in progress.
Calling this method when a nested scroll is not currently in progress is harmless.
Returns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data. The default implementation is equivalent to the following expression:
getClass().getName() + '@' + Integer.toHexString(hashCode())
See Writing a useful
 toString method
 if you intend implementing your own toString method.
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.
| who | The Drawable to unschedule. | 
|---|
Cancels a scheduled action on a drawable.
| who | the recipient of the action | 
|---|---|
| what | the action to cancel | 
Returns whether or not this View can cache its drawing or not.
Returns whether or not this View draws on its own.
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.
| startDelay | the delay, in milliseconds, after which the animation should start; when the delay is 0, the animation starts immediately | 
|---|
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.
| startDelay | the delay, in milliseconds, after which the animation should start; when the delay is 0, the animation starts immediately | 
|---|---|
| invalidate | Whether this method should call invalidate | 
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).
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.
computeHorizontalScrollRange()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.
computeHorizontalScrollRange()computeHorizontalScrollExtent()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.
computeHorizontalScrollExtent()computeHorizontalScrollOffset()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.
computeVerticalScrollRange()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.
computeVerticalScrollRange()computeVerticalScrollExtent()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().
The default range is the drawing height of this view.
computeVerticalScrollExtent()computeVerticalScrollOffset()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).
| canvas | the canvas on which to draw the view | 
|---|
Dispatch a generic motion event to the currently focused view.
 Do not call this method directly.
 Call dispatchGenericMotionEvent(MotionEvent) instead.
 
| event | The motion event to be dispatched. | 
|---|
Dispatch a generic motion event to the view under the first pointer.
 Do not call this method directly.
 Call dispatchGenericMotionEvent(MotionEvent) instead.
 
| event | The motion event to be dispatched. | 
|---|
Dispatch a hover event.
 Do not call this method directly.
 Call dispatchGenericMotionEvent(MotionEvent) instead.
 
| event | The motion event to be dispatched. | 
|---|
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.
| container | The SparseArray which holds previously saved state. | 
|---|
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.
| container | The SparseArray in which to save the view's state. | 
|---|
Dispatch setActivated to all of this View's children.
| activated | The new activated state | 
|---|
Dispatch setPressed to all of this View's children.
| pressed | The new pressed state | 
|---|
Dispatch setSelected to all of this View's children.
| selected | The new selected state | 
|---|
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.
      This method was deprecated
      in API level 20.
    As of API 20 use dispatchApplyWindowInsets(WindowInsets) to apply
 insets to views. Views should override onApplyWindowInsets(WindowInsets) or 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>| insets | Current content insets of the window.  Prior to
 JELLY_BEAN you must not modify
 the insets or else you and Android will be unhappy. | 
        
|---|
true if this view applied the insets and it should not
 continue propagating further down the hierarchy, false otherwise.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.
Amount by which to extend the bottom fading region. Called only when
 isPaddingOffsetRequired() returns true.
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 onCreateContextMenu(ContextMenu, View, ContextMenuInfo)
 callback.
Returns the height of the horizontal scrollbar.
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.
Amount by which to extend the left fading region. Called only when
 isPaddingOffsetRequired() returns true.
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.
Amount by which to extend the right fading region. Called only when
 isPaddingOffsetRequired() returns true.
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
 (getMinimumHeight()).
 
 When being used in onMeasure(int, int), the caller should still
 ensure the returned height is within the requirements of the parent.
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
  (getMinimumWidth()).
 
 When being used in onMeasure(int, int), the caller should still
 ensure the returned width is within the requirements of the parent.
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.
Amount by which to extend the top fading region. Called only when
 isPaddingOffsetRequired() returns true.
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.
Merge your own state values in additionalState into the base
 state values baseState that were returned by
 onCreateDrawableState(int).
| baseState | The base state values returned by
 onCreateDrawableState(int), which will be modified to also hold your
 own additional state values. | 
        
|---|---|
| additionalState | The additional state values you would like added to baseState; this array is not modified. | 
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();
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();
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).
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.
| newConfig | The new resource configuration. | 
|---|
Views should implement this if the view itself is going to add items to the context menu.
| menu | the context menu to populate | 
|---|
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().
| extraSpace | 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. | 
|---|
Drawable state of
 the view.This is called when the view is detached from a window. At this point it no longer has a surface for drawing.
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.
Implement this to do your drawing.
| canvas | the canvas on which the background will be drawn | 
|---|
Request the drawing of the horizontal and the vertical scrollbar. The scrollbars are painted only if they have been awakened first.
| canvas | the canvas on which to draw the scrollbars | 
|---|
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.
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.
| gainFocus | True if the View has focus; false otherwise. | 
|---|---|
| direction | The direction focus has moved when requestFocus()
                  is called to give this view focus. Values are
                  FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT,
                  FOCUS_RIGHT, FOCUS_FORWARD, or FOCUS_BACKWARD.
                  It may not always apply, in which case use the default. | 
        
| previouslyFocusedRect | The rectangle, in this view's coordinate
        system, of the previously focused view.  If applicable, this will be
        passed in as finer grained information about where the focus is coming
        from (in addition to direction).  Will be null otherwise.
 | 
        
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.
| changed | This is a new size or position for this view | 
|---|---|
| left | Left position, relative to parent | 
| top | Top position, relative to parent | 
| right | Right position, relative to parent | 
| bottom | Bottom position, relative to parent | 
 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()).
 
| widthMeasureSpec | horizontal space requirements as imposed by the parent.
                         The requirements are encoded with
                         View.MeasureSpec. | 
        
|---|---|
| heightMeasureSpec | vertical space requirements as imposed by the parent.
                         The requirements are encoded with
                         View.MeasureSpec. | 
        
Called by overScrollBy(int, int, int, int, int, int, int, int, boolean) to
 respond to the results of an over-scroll operation.
| scrollX | New X scroll value in pixels | 
|---|---|
| scrollY | New Y scroll value in pixels | 
| clampedX | True if scrollX was clamped to an over-scroll boundary | 
| clampedY | True if scrollY was clamped to an over-scroll boundary | 
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.
| state | The frozen state that had previously been returned by
        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.
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.
| l | Current horizontal scroll origin. | 
|---|---|
| t | Current vertical scroll origin. | 
| oldl | Previous horizontal scroll origin. | 
| oldt | Previous vertical scroll origin. | 
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.
| alpha | The alpha (0..255) to apply to the view's drawing | 
|---|
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.
| w | Current width of this view. | 
|---|---|
| h | Current height of this view. | 
| oldw | Old width of this view. | 
| oldh | Old height of this view. | 
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.
| visibility | The new visibility of the window. | 
|---|
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.
| deltaX | Change in X in pixels | 
|---|---|
| deltaY | Change in Y in pixels | 
| scrollX | Current X scroll value in pixels before applying deltaX | 
| scrollY | Current Y scroll value in pixels before applying deltaY | 
| scrollRangeX | Maximum content scroll range along the X axis | 
| scrollRangeY | Maximum content scroll range along the Y axis | 
| maxOverScrollX | Number of pixels to overscroll by in either direction along the X axis. | 
| maxOverScrollY | Number of pixels to overscroll by in either direction along the Y axis. | 
| isTouchEvent | true if this scroll operation is the result of a touch event. | 
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.
| measuredWidth | The measured width of this view.  May be a complex
 bit mask as defined by MEASURED_SIZE_MASK and
 MEASURED_STATE_TOO_SMALL. | 
        
|---|---|
| measuredHeight | The measured height of this view.  May be a complex
 bit mask as defined by MEASURED_SIZE_MASK and
 MEASURED_STATE_TOO_SMALL.
 | 
        
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.
| who | The Drawable to verify. Return true if it is one you are displaying, else return the result of calling through to the super class. | 
|---|