java.lang.Object
   ↳ android.view.View
Known Direct Subclasses
Known Indirect Subclasses

Class Overview

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

Developer Guides

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

Using Views

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

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

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

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

Implementing a Custom View

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

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

IDs

Views may have an integer id associated with them. These ids are typically assigned in the layout XML files, and are used to find specific views within the view tree. A common pattern is to:
  • Define a Button in the layout file and assign it a unique ID.
     <Button
         android:id="@+id/my_button"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="@string/my_button_text"/>
     
  • From the onCreate method of an Activity, find the Button
          Button myButton = (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.

Position

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

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

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

Size, padding and margins

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

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

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

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

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

Layout

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

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

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

  • an exact number
  • MATCH_PARENT, which means the view wants to be as big as its parent (minus padding)
  • WRAP_CONTENT, which means that the view wants to be just big enough to enclose its content (plus padding).
There are subclasses of LayoutParams for different subclasses of ViewGroup. For example, AbsoluteLayout has its own subclass of LayoutParams which adds an X and Y value.

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

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

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

Drawing

Drawing is handled by walking the tree and rendering each view that intersects the invalid region. Because the tree is traversed in-order, this means that parents will draw 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 for you before calling back to its onDraw() method.

Note that the framework will not draw views that are not in the invalid region.

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

Event Handling and Threading

The basic cycle of a view is as follows:

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

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

Focus Handling

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

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

 nextFocusDown
 nextFocusLeft
 nextFocusRight
 nextFocusUp
 

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

Touch Mode

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

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

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

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

Scrolling

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

Tags

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

Animation

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.

Starting with Android 3.0, the preferred way of animating views is to use the android.animation package APIs.

Security

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

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

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

See Also

Summary

Nested Classes
class View.AccessibilityDelegate

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

class View.BaseSavedState Base class for derived classes that want to save and restore their own state in onSaveInstanceState()
class View.DragShadowBuilder Creates an image that the system displays during the drag and drop operation. 
class View.MeasureSpec A MeasureSpec encapsulates the layout requirements passed from parent to child. 
interface View.OnAttachStateChangeListener Interface definition for a callback to be invoked when this view is attached or detached from its window. 
interface View.OnClickListener Interface definition for a callback to be invoked when a view is clicked. 
interface View.OnCreateContextMenuListener Interface definition for a callback to be invoked when the context menu for this view is being built. 
interface View.OnDragListener Interface definition for a callback to be invoked when a drag is being dispatched to this view. 
interface View.OnFocusChangeListener Interface definition for a callback to be invoked when the focus state of a view changed. 
interface View.OnGenericMotionListener Interface definition for a callback to be invoked when a generic motion event is dispatched to this view. 
interface View.OnHoverListener Interface definition for a callback to be invoked when a hover event is dispatched to this view. 
interface View.OnKeyListener Interface definition for a callback to be invoked when a key event is dispatched to this view. 
interface View.OnLayoutChangeListener Interface definition for a callback to be invoked when the layout bounds of a view changes due to layout processing. 
interface View.OnLongClickListener Interface definition for a callback to be invoked when a view has been clicked and held. 
interface View.OnSystemUiVisibilityChangeListener Interface definition for a callback to be invoked when the status bar changes visibility. 
interface View.OnTouchListener Interface definition for a callback to be invoked when a touch event is dispatched to this view. 
XML Attributes
Attribute Name Related Method Description
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: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: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: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: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:isScrollContainer Set this if the view will serve as a scrolling container, meaing 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:longClickable setLongClickable(boolean) Defines whether this view reacts to long click events. 
android:minHeight Defines the minimum height of the view. 
android:minWidth Defines the minimum width of the view. 
android: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 setPadding(int,int,int,int) Sets the padding, in pixels, of all four edges. 
android:paddingBottom setPadding(int,int,int,int) Sets the padding, in pixels, of the bottom 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:paddingTop setPadding(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 unset, 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:scrollX The initial horizontal scroll offset, in pixels. 
android:scrollY The initial vertical scroll offset, in pixels. 
android:scrollbarAlwaysDrawHorizontalTrack Defines whether the horizontal scrollbar track should always be drawn. 
android:scrollbarAlwaysDrawVerticalTrack Defines whether the vertical scrollbar track should always be drawn. 
android:scrollbarDefaultDelayBeforeFade Defines the delay in milliseconds that a scrollbar waits before fade out. 
android:scrollbarFadeDuration Defines the delay in milliseconds that a scrollbar takes to fade out. 
android:scrollbarSize Sets the width of vertical scrollbars and height of horizontal scrollbars. 
android:scrollbarStyle Controls the scrollbar style and position. 
android:scrollbarThumbHorizontal Defines the horizontal scrollbar thumb drawable. 
android:scrollbarThumbVertical Defines the vertical scrollbar thumb drawable. 
android:scrollbarTrackHorizontal Defines the horizontal scrollbar track drawable. 
android:scrollbarTrackVertical Defines the vertical scrollbar track drawable. 
android:scrollbars Defines which scrollbars should be displayed on scrolling or not. 
android:soundEffectsEnabled setSoundEffectsEnabled(boolean) Boolean that controls whether a view should have sound effects enabled for events such as clicking and touching. 
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: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:translationX setTranslationX(float) translation in x of the view. 
android:translationY setTranslationY(float) translation in y of the view. 
android:visibility setVisibility(int) Controls the initial visibility of the view. 
Constants
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 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 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 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 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 is deprecated. Use SYSTEM_UI_FLAG_LOW_PROFILE instead.
int STATUS_BAR_VISIBLE This constant is deprecated. Use SYSTEM_UI_FLAG_VISIBLE instead.
int SYSTEM_UI_FLAG_HIDE_NAVIGATION View has requested that the system navigation be temporarily hidden.
int SYSTEM_UI_FLAG_LOW_PROFILE View has requested the system UI to enter an unobtrusive "low profile" mode.
int SYSTEM_UI_FLAG_VISIBLE View has requested the system UI (status bar) to be visible (the default).
String VIEW_LOG_TAG The logging tag used by this class with android.util.Log.
int VISIBLE This view is visible.
Fields
public static Property<ViewFloat> ALPHA A Property wrapper around the alpha functionality handled by the setAlpha(float) and getAlpha() methods.
protected static final int[] EMPTY_STATE_SET Indicates the view has no states set.
protected static final int[] ENABLED_FOCUSED_SELECTED_STATE_SET Indicates the view is enabled, focused and selected.
protected static final int[] ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET Indicates the view is enabled, focused, selected and its window has the focus.
protected static final int[] ENABLED_FOCUSED_STATE_SET Indicates the view is enabled and has the focus.
protected static final int[] ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET Indicates the view is enabled, focused and its window has the focus.
protected static final int[] ENABLED_SELECTED_STATE_SET Indicates the view is enabled and selected.
protected static final int[] ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET Indicates the view is enabled, selected and its window has the focus.
protected static final int[] ENABLED_STATE_SET Indicates the view is enabled.
protected static final int[] ENABLED_WINDOW_FOCUSED_STATE_SET Indicates the view is enabled and that its window has focus.
protected static final int[] FOCUSED_SELECTED_STATE_SET Indicates the view is focused and selected.
protected static final int[] FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET Indicates the view is focused, selected and its window has the focus.
protected static final int[] FOCUSED_STATE_SET Indicates the view is focused.
protected static final int[] FOCUSED_WINDOW_FOCUSED_STATE_SET Indicates the view has the focus and that its window has the focus.
protected static final int[] PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET Indicates the view is pressed, enabled, focused and selected.
protected static final int[] PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET Indicates the view is pressed, enabled, focused, selected and its window has the focus.
protected static final int[] PRESSED_ENABLED_FOCUSED_STATE_SET Indicates the view is pressed, enabled and focused.
protected static final int[] PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET Indicates the view is pressed, enabled, focused and its window has the focus.
protected static final int[] PRESSED_ENABLED_SELECTED_STATE_SET Indicates the view is pressed, enabled and selected.
protected static final int[] PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET Indicates the view is pressed, enabled, selected and its window has the focus.
protected static final int[] PRESSED_ENABLED_STATE_SET Indicates the view is pressed and enabled.
protected static final int[] PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET Indicates the view is pressed, enabled and its window has the focus.
protected static final int[] PRESSED_FOCUSED_SELECTED_STATE_SET Indicates the view is pressed, focused and selected.
protected static final int[] PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET Indicates the view is pressed, focused, selected and its window has the focus.
protected static final int[] PRESSED_FOCUSED_STATE_SET Indicates the view is pressed and focused.
protected static final int[] PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET Indicates the view is pressed, focused and its window has the focus.
protected static final int[] PRESSED_SELECTED_STATE_SET Indicates the view is pressed and selected.
protected static final int[] PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET Indicates the view is pressed, selected and its window has the focus.
protected static final int[] PRESSED_WINDOW_FOCUSED_STATE_SET Indicates the view is pressed and its window has the focus.
public static Property<ViewFloat> ROTATION A Property wrapper around the rotation functionality handled by the setRotation(float) and getRotation() methods.
public static Property<ViewFloat> ROTATION_X A Property wrapper around the rotationX functionality handled by the setRotationX(float) and getRotationX() methods.
public static Property<ViewFloat> ROTATION_Y A Property wrapper around the rotationY functionality handled by the setRotationY(float) and getRotationY() methods.
public static Property<ViewFloat> SCALE_X A Property wrapper around the scaleX functionality handled by the setScaleX(float) and getScaleX() methods.
public static Property<ViewFloat> SCALE_Y A Property wrapper around the scaleY functionality handled by the setScaleY(float) and getScaleY() methods.
protected static final int[] SELECTED_STATE_SET Indicates the view is selected.
protected static final int[] SELECTED_WINDOW_FOCUSED_STATE_SET Indicates the view is selected and that its window has the focus.
public static Property<ViewFloat> TRANSLATION_X A Property wrapper around the translationX functionality handled by the setTranslationX(float) and getTranslationX() methods.
public static Property<ViewFloat> TRANSLATION_Y A Property wrapper around the translationY functionality handled by the setTranslationY(float) and getTranslationY() methods.
protected static final int[] WINDOW_FOCUSED_STATE_SET Indicates the view's window has focus.
public static Property<ViewFloat> X A Property wrapper around the x functionality handled by the setX(float) and getX() methods.
public static Property<ViewFloat> Y A Property wrapper around the y functionality handled by the setY(float) and getY() methods.
Public Constructors
View(Context context)
Simple constructor to use when creating a view from code.
View(Context context, AttributeSet attrs)
Constructor that is called when inflating a view from XML.
View(Context context, AttributeSet attrs, int defStyle)
Perform inflation from XML and apply a class-specific base style.
Public Methods
void addFocusables(ArrayList<View> views, int direction)
Add any focusable views that are descendants of this view (possibly including this view if it is focusable itself) to views.
void addFocusables(ArrayList<View> views, int direction, int focusableMode)
Adds any focusable views that are descendants of this view (possibly including this view if it is focusable itself) to views.
void addOnAttachStateChangeListener(View.OnAttachStateChangeListener listener)
Add a listener for attach state changes.
void addOnLayoutChangeListener(View.OnLayoutChangeListener listener)
Add a listener that will be called when the bounds of the view change due to layout processing.
void addTouchables(ArrayList<View> views)
Add any touchable views that are descendants of this view (possibly including this view if it is touchable itself) to views.
ViewPropertyAnimator animate()
This method returns a ViewPropertyAnimator object, which can be used to animate specific properties on this View.
void bringToFront()
Change the view's z order in the tree, so it's on top of other sibling views
void buildDrawingCache(boolean autoScale)

Forces the drawing cache to be built if the drawing cache is invalid.

void buildDrawingCache()

Calling this method is equivalent to calling buildDrawingCache(false).

void buildLayer()
Forces this view's layer to be created and this view to be rendered into its layer.
boolean callOnClick()
Directly call any attached OnClickListener.
boolean canScrollHorizontally(int direction)
Check if this view can be scrolled horizontally in a certain direction.
boolean canScrollVertically(int direction)
Check if this view can be scrolled vertically in a certain direction.
void cancelLongPress()
Cancels a pending long press.
boolean checkInputConnectionProxy(View view)
Called by the InputMethodManager when a view who is not the current input connection target is trying to make a call on the manager.
void clearAnimation()
Cancels any animations for this view.
void clearFocus()
Called when this view wants to give up focus.
static int combineMeasuredStates(int curState, int newState)
Merge two states as returned by getMeasuredState().
void computeScroll()
Called by a parent to request that a child update its values for mScrollX and mScrollY if necessary.
AccessibilityNodeInfo createAccessibilityNodeInfo()
Returns an AccessibilityNodeInfo representing this view from the point of view of an AccessibilityService.
void createContextMenu(ContextMenu menu)
Show the context menu for this view.
void destroyDrawingCache()

Frees the resources used by the drawing cache.

void dispatchConfigurationChanged(Configuration newConfig)
Dispatch a notification about a resource configuration change down the view hierarchy.
void dispatchDisplayHint(int hint)
Dispatch a hint about whether this view is displayed.
boolean dispatchDragEvent(DragEvent event)
Detects if this View is enabled and has a drag event listener.
boolean dispatchGenericMotionEvent(MotionEvent event)
Dispatch a generic motion event.
boolean dispatchKeyEvent(KeyEvent event)
Dispatch a key event to the next view on the focus path.
boolean dispatchKeyEventPreIme(KeyEvent event)
Dispatch a key event before it is processed by any input method associated with the view hierarchy.
boolean dispatchKeyShortcutEvent(KeyEvent event)
Dispatches a key shortcut event.
boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event)
Dispatches an AccessibilityEvent to the View first and then to its children for adding their text content to the event.
void dispatchSystemUiVisibilityChanged(int visibility)
boolean dispatchTouchEvent(MotionEvent event)
Pass the touch screen motion event down to the target view, or this view if it is the target.
boolean dispatchTrackballEvent(MotionEvent event)
Pass a trackball motion event down to the focused view.
boolean dispatchUnhandledMove(View focused, int direction)
This method is the last chance for the focused view and its ancestors to respond to an arrow key.
void dispatchWindowFocusChanged(boolean hasFocus)
Called when the window containing this view gains or loses window focus.
void dispatchWindowVisibilityChanged(int visibility)
Dispatch a window visibility change down the view hierarchy.
void draw(Canvas canvas)
Manually render this view (and all of its children) to the given Canvas.
View findFocus()
Find the view in the hierarchy rooted at this view that currently has focus.
final View findViewById(int id)
Look for a child view with the given id.
final View findViewWithTag(Object tag)
Look for a child view with the given tag.
void findViewsWithText(ArrayList<View> outViews, CharSequence searched, int flags)
Finds the Views that contain given text.
boolean fitsSystemWindows()
Check for the FITS_SYSTEM_WINDOWS flag.
View focusSearch(int direction)
Find the nearest view in the specified direction that can take focus.
void forceLayout()
Forces this view to be laid out during the next layout pass.
float getAlpha()
The opacity of the view.
Animation getAnimation()
Get the animation currently associated with this view.
IBinder getApplicationWindowToken()
Retrieve a unique token identifying the top-level "real" window of the window that this view is attached to.
Drawable getBackground()
Gets the background drawable
int getBaseline()

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

final int getBottom()
Bottom position of this view relative to its parent.
CharSequence getContentDescription()
Gets the View description.
final Context getContext()
Returns the context the view is running in, through which it can access the current theme, resources, etc.
static int getDefaultSize(int size, int measureSpec)
Utility to return a default size.
final int[] getDrawableState()
Return an array of resource IDs of the drawable states representing the current state of the view.
Bitmap getDrawingCache(boolean autoScale)

Returns the bitmap in which this view drawing is cached.

Bitmap getDrawingCache()

Calling this method is equivalent to calling getDrawingCache(false).

int getDrawingCacheBackgroundColor()
int getDrawingCacheQuality()
Returns the quality of the drawing cache.
void getDrawingRect(Rect outRect)
Return the visible drawing bounds of your view.
long getDrawingTime()

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

boolean getFilterTouchesWhenObscured()
Gets whether the framework should discard touches when the view's window is obscured by another visible window.
ArrayList<View> getFocusables(int direction)
Find and return all focusable views that are descendants of this view, possibly including this view if it is focusable itself.
void getFocusedRect(Rect r)
When a view has focus and the user navigates away from it, the next view is searched for starting from the rectangle filled in by this method.
boolean getGlobalVisibleRect(Rect r, Point globalOffset)
If some part of this view is not clipped by any of its parents, then return that area in r in global (root) coordinates.
final boolean getGlobalVisibleRect(Rect r)
Handler getHandler()
final int getHeight()
Return the height of your view.
void getHitRect(Rect outRect)
Hit rectangle in parent's coordinates
int getHorizontalFadingEdgeLength()
Returns the size of the horizontal faded edges used to indicate that more content in this view is visible.
int getId()
Returns this view's identifier.
boolean getKeepScreenOn()
Returns whether the screen should remain on, corresponding to the current value of KEEP_SCREEN_ON.
KeyEvent.DispatcherState getKeyDispatcherState()
Return the global KeyEvent.DispatcherState for this view's window.
int getLayerType()
Indicates what type of layer is currently associated with this view.
ViewGroup.LayoutParams getLayoutParams()
Get the LayoutParams associated with this view.
final int getLeft()
Left position of this view relative to its parent.
final boolean getLocalVisibleRect(Rect r)
void getLocationInWindow(int[] location)

Computes the coordinates of this view in its window.

void getLocationOnScreen(int[] location)

Computes the coordinates of this view on the screen.

Matrix getMatrix()
The transform matrix of this view, which is calculated based on the current roation, scale, and pivot properties.
final int getMeasuredHeight()
Like getMeasuredHeightAndState(), but only returns the raw width component (that is the result is masked by MEASURED_SIZE_MASK).
final int getMeasuredHeightAndState()
Return the full height measurement information for this view as computed by the most recent call to measure(int, int).
final int getMeasuredState()
Return only the state bits of getMeasuredWidthAndState() and getMeasuredHeightAndState(), combined into one integer.
final int getMeasuredWidth()
Like getMeasuredWidthAndState(), but only returns the raw width component (that is the result is masked by MEASURED_SIZE_MASK).
final int getMeasuredWidthAndState()
Return the full width measurement information for this view as computed by the most recent call to measure(int, int).
int getNextFocusDownId()
Gets the id of the view to use when the next focus is FOCUS_DOWN.
int getNextFocusForwardId()
Gets the id of the view to use when the next focus is FOCUS_FORWARD.
int getNextFocusLeftId()
Gets the id of the view to use when the next focus is FOCUS_LEFT.
int getNextFocusRightId()
Gets the id of the view to use when the next focus is FOCUS_RIGHT.
int getNextFocusUpId()
Gets the id of the view to use when the next focus is FOCUS_UP.
View.OnFocusChangeListener getOnFocusChangeListener()
Returns the focus-change callback registered for this view.
int getOverScrollMode()
Returns the over-scroll mode for this view.
int getPaddingBottom()
Returns the bottom padding of this view.
int getPaddingLeft()
Returns the left padding of this view.
int getPaddingRight()
Returns the right padding of this view.
int getPaddingTop()
Returns the top padding of this view.
final ViewParent getParent()
Gets the parent of this view.
float getPivotX()
The x location of the point around which the view is rotated and scaled.
float getPivotY()
The y location of the point around which the view is rotated and scaled.
abstract int getResolvedLayoutDirection(Drawable who)
A Drawable can call this to get the resolved layout direction of the who.
Resources getResources()
Returns the resources associated with this view.
final int getRight()
Right position of this view relative to its parent.
View getRootView()

Finds the topmost view in the current view hierarchy.

float getRotation()
The degrees that the view is rotated around the pivot point.
float getRotationX()
The degrees that the view is rotated around the horizontal axis through the pivot point.
float getRotationY()
The degrees that the view is rotated around the vertical axis through the pivot point.
float getScaleX()
The amount that the view is scaled in x around the pivot point, as a proportion of the view's unscaled width.
float getScaleY()
The amount that the view is scaled in y around the pivot point, as a proportion of the view's unscaled height.
int getScrollBarStyle()

Returns the current scrollbar style.

final int getScrollX()
Return the scrolled left position of this view.
final int getScrollY()
Return the scrolled top position of this view.
int getSolidColor()
Override this if your view is known to always be drawn on top of a solid color background, and needs to draw fading edges.
int getSystemUiVisibility()
Returns the status bar visibility that this view has requested.
Object getTag(int key)
Returns the tag associated with this view and the specified key.
Object getTag()
Returns this view's tag.
final int getTop()
Top position of this view relative to its parent.
TouchDelegate getTouchDelegate()
Gets the TouchDelegate for this View.
ArrayList<View> getTouchables()
Find and return all touchable views that are descendants of this view, possibly including this view if it is touchable itself.
float getTranslationX()
The horizontal location of this view relative to its left position.
float getTranslationY()
The horizontal location of this view relative to its top position.
int getVerticalFadingEdgeLength()
Returns the size of the vertical faded edges used to indicate that more content in this view is visible.
int getVerticalScrollbarPosition()
int getVerticalScrollbarWidth()
Returns the width of the vertical scrollbar.
ViewTreeObserver getViewTreeObserver()
Returns the ViewTreeObserver for this view's hierarchy.
int getVisibility()
Returns the visibility status for this view.
final int getWidth()
Return the width of the your view.
IBinder getWindowToken()
Retrieve a unique token identifying the window this view is attached to.
int getWindowVisibility()
Returns the current visibility of the window this view is attached to (either GONE, INVISIBLE, or VISIBLE).
void getWindowVisibleDisplayFrame(Rect outRect)
Retrieve the overall visible display size in which the window this view is attached to has been positioned in.
float getX()
The visual x position of this view, in pixels.
float getY()
The visual y position of this view, in pixels.
boolean hasFocus()
Returns true if this view has focus iteself, or is the ancestor of the view that has focus.
boolean hasFocusable()
Returns true if this view is focusable or if it contains a reachable View for which hasFocusable() returns true.
boolean hasOnClickListeners()
Return whether this view has an attached OnClickListener.
boolean hasWindowFocus()
Returns true if this view is in a window that currently has window focus.
static View inflate(Context context, int resource, ViewGroup root)
Inflate a view from an XML resource.
void invalidate(Rect dirty)
Mark the area defined by dirty as needing to be drawn.
void invalidate(int l, int t, int r, int b)
Mark the area defined by the rect (l,t,r,b) as needing to be drawn.
void invalidate()
Invalidate the whole view.
void invalidateDrawable(Drawable drawable)
Invalidates the specified Drawable.
boolean isActivated()
Indicates the activation state of this view.
boolean isClickable()
Indicates whether this view reacts to click events or not.
boolean isDirty()
True if this view has changed since the last time being drawn.
boolean isDrawingCacheEnabled()

Indicates whether the drawing cache is enabled for this view.

boolean isDuplicateParentStateEnabled()

Indicates whether this duplicates its drawable state from its parent.

boolean isEnabled()
Returns the enabled status for this view.
final boolean isFocusable()
Returns whether this View is able to take focus.
final boolean isFocusableInTouchMode()
When a view is focusable, it may not want to take focus when in touch mode.
boolean isFocused()
Returns true if this view has focus
boolean isHapticFeedbackEnabled()
boolean isHardwareAccelerated()

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

boolean isHorizontalFadingEdgeEnabled()

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

boolean isHorizontalScrollBarEnabled()

Indicate whether the horizontal scrollbar should be drawn or not.

boolean isHovered()
Returns true if the view is currently hovered.
boolean isInEditMode()
Indicates whether this View is currently in edit mode.
boolean isInTouchMode()
Returns whether the device is currently in touch mode.
boolean isLayoutRequested()

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

boolean isLongClickable()
Indicates whether this view reacts to long click events or not.
boolean isOpaque()
Indicates whether this View is opaque.
boolean isPressed()
Indicates whether the view is currently in pressed state.
boolean isSaveEnabled()
Indicates whether this view will save its state (that is, whether its onSaveInstanceState() method will be called).
boolean isSaveFromParentEnabled()
Indicates whether the entire hierarchy under this view will save its state when a state saving traversal occurs from its parent.
boolean isScrollbarFadingEnabled()
Returns true if scrollbars will fade when this view is not scrolling
boolean isSelected()
Indicates the selection state of this view.
boolean isShown()
Returns the visibility of this view and all of its ancestors
boolean isSoundEffectsEnabled()
boolean isVerticalFadingEdgeEnabled()

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

boolean isVerticalScrollBarEnabled()

Indicate whether the vertical scrollbar should be drawn or not.

void jumpDrawablesToCurrentState()
Call Drawable.jumpToCurrentState() on all Drawable objects associated with this view.
void layout(int l, int t, int r, int b)
Assign a size and position to a view and all of its descendants

This is the second phase of the layout mechanism.

final void measure(int widthMeasureSpec, int heightMeasureSpec)

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

void offsetLeftAndRight(int offset)
Offset this view's horizontal location by the specified amount of pixels.
void offsetTopAndBottom(int offset)
Offset this view's vertical location by the specified number of pixels.
boolean onCheckIsTextEditor()
Check whether the called view is a text editor, in which case it would make sense to automatically display a soft input window for it.
InputConnection onCreateInputConnection(EditorInfo outAttrs)
Create a new InputConnection for an InputMethod to interact with the view.
boolean onDragEvent(DragEvent event)
Handles drag events sent by the system following a call to startDrag().
boolean onFilterTouchEventForSecurity(MotionEvent event)
Filter the touch event to apply security policies.
void onFinishTemporaryDetach()
Called after onStartTemporaryDetach() when the container is done changing the view.
boolean onGenericMotionEvent(MotionEvent event)
Implement this method to handle generic motion events.
void onHoverChanged(boolean hovered)
Implement this method to handle hover state changes.
boolean onHoverEvent(MotionEvent event)
Implement this method to handle hover events.
void onInitializeAccessibilityEvent(AccessibilityEvent event)
Initializes an AccessibilityEvent with information about this View which is the event source.
void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info)
Initializes an AccessibilityNodeInfo with information about this view.
boolean onKeyDown(int keyCode, KeyEvent event)
Default implementation of KeyEvent.Callback.onKeyDown(): perform press of the view when KEYCODE_DPAD_CENTER or KEYCODE_ENTER is released, if the view is enabled and clickable.
boolean onKeyLongPress(int keyCode, KeyEvent event)
Default implementation of KeyEvent.Callback.onKeyLongPress(): always returns false (doesn't handle the event).
boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event)
Default implementation of KeyEvent.Callback.onKeyMultiple(): always returns false (doesn't handle the event).
boolean onKeyPreIme(int keyCode, KeyEvent event)
Handle a key event before it is processed by any input method associated with the view hierarchy.
boolean onKeyShortcut(int keyCode, KeyEvent event)
Called on the focused view when a key shortcut event is not handled.
boolean onKeyUp(int keyCode, KeyEvent event)
Default implementation of KeyEvent.Callback.onKeyUp(): perform clicking of the view when KEYCODE_DPAD_CENTER or KEYCODE_ENTER is released.
void onPopulateAccessibilityEvent(AccessibilityEvent event)
Called from dispatchPopulateAccessibilityEvent(AccessibilityEvent) giving a chance to this View to populate the accessibility event with its text content.
void onStartTemporaryDetach()
This is called when a container is going to temporarily detach a child, with ViewGroup.detachViewFromParent.
boolean onTouchEvent(MotionEvent event)
Implement this method to handle touch screen motion events.
boolean onTrackballEvent(MotionEvent event)
Implement this method to handle trackball motion events.
void onWindowFocusChanged(boolean hasWindowFocus)
Called when the window containing this view gains or loses focus.
boolean performClick()
Call this view's OnClickListener, if it is defined.
boolean performHapticFeedback(int feedbackConstant, int flags)
BZZZTT!!1!

Like performHapticFeedback(int), with additional options.

boolean performHapticFeedback(int feedbackConstant)
BZZZTT!!1!

Provide haptic feedback to the user for this view.

boolean performLongClick()
Call this view's OnLongClickListener, if it is defined.
void playSoundEffect(int soundConstant)
Play a sound effect for this view.
boolean post(Runnable action)

Causes the Runnable to be added to the message queue.

boolean postDelayed(Runnable action, long delayMillis)

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

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

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

void postInvalidate()

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

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

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

void postInvalidateDelayed(long delayMilliseconds)

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

void refreshDrawableState()
Call this to force a view to update its drawable state.
boolean removeCallbacks(Runnable action)

Removes the specified Runnable from the message queue.

void removeOnAttachStateChangeListener(View.OnAttachStateChangeListener listener)
Remove a listener for attach state changes.
void removeOnLayoutChangeListener(View.OnLayoutChangeListener listener)
Remove a listener for layout changes.
boolean requestFocus(int direction, Rect previouslyFocusedRect)
Call this to try to give focus to a specific view or to one of its descendants and give it hints about the direction and a specific rectangle that the focus is coming from.
final boolean requestFocus(int direction)
Call this to try to give focus to a specific view or to one of its descendants and give it a hint about what direction focus is heading.
final boolean requestFocus()
Call this to try to give focus to a specific view or to one of its descendants.
final boolean requestFocusFromTouch()
Call this to try to give focus to a specific view or to one of its descendants.
void requestLayout()
Call this when something has changed which has invalidated the layout of this view.
boolean requestRectangleOnScreen(Rect rectangle)
Request that a rectangle of this view be visible on the screen, scrolling if necessary just enough.
boolean requestRectangleOnScreen(Rect rectangle, boolean immediate)
Request that a rectangle of this view be visible on the screen, scrolling if necessary just enough.
static int resolveSize(int size, int measureSpec)
Version of resolveSizeAndState(int, int, int) returning only the MEASURED_SIZE_MASK bits of the result.
static int resolveSizeAndState(int size, int measureSpec, int childMeasuredState)
Utility to reconcile a desired size and state, with constraints imposed by a MeasureSpec.
void restoreHierarchyState(SparseArray<Parcelable> container)
Restore this view hierarchy's frozen state from the given container.
void saveHierarchyState(SparseArray<Parcelable> container)
Store this view hierarchy's frozen state into the given container.
void scheduleDrawable(Drawable who, Runnable what, long when)
Schedules an action on a drawable to occur at a specified time.
void scrollBy(int x, int y)
Move the scrolled position of your view.
void scrollTo(int x, int y)
Set the scrolled position of your view.
void sendAccessibilityEvent(int eventType)
Sends an accessibility event of the given type.
void sendAccessibilityEventUnchecked(AccessibilityEvent event)
This method behaves exactly as sendAccessibilityEvent(int) but takes as an argument an empty AccessibilityEvent and does not perform a check whether accessibility is enabled.
void setAccessibilityDelegate(View.AccessibilityDelegate delegate)
Sets a delegate for implementing accessibility support via compositon as opposed to inheritance.
void setActivated(boolean activated)
Changes the activated state of this view.
void setAlpha(float alpha)

Sets the opacity of the view.

void setAnimation(Animation animation)
Sets the next animation to play for this view.
void setBackgroundColor(int color)
Sets the background color for this view.
void setBackgroundDrawable(Drawable d)
Set the background to a given Drawable, or remove the background.
void setBackgroundResource(int resid)
Set the background to a given resource.
final void setBottom(int bottom)
Sets the bottom position of this view relative to its parent.
void setCameraDistance(float distance)

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

void setClickable(boolean clickable)
Enables or disables click events for this view.
void setContentDescription(CharSequence contentDescription)
Sets the View description.
void setDrawingCacheBackgroundColor(int color)
Setting a solid background color for the drawing cache's bitmaps will improve performance and memory usage.
void setDrawingCacheEnabled(boolean enabled)

Enables or disables the drawing cache.

void setDrawingCacheQuality(int quality)
Set the drawing cache quality of this view.
void setDuplicateParentStateEnabled(boolean enabled)

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

void setEnabled(boolean enabled)
Set the enabled state of this view.
void setFadingEdgeLength(int length)
Set the size of the faded edge used to indicate that more content in this view is available.
void setFilterTouchesWhenObscured(boolean enabled)
Sets whether the framework should discard touches when the view's window is obscured by another visible window.
void setFitsSystemWindows(boolean fitSystemWindows)
Set whether or not this view should account for system screen decorations such as the status bar and inset its content.
void setFocusable(boolean focusable)
Set whether this view can receive the focus.
void setFocusableInTouchMode(boolean focusableInTouchMode)
Set whether this view can receive focus while in touch mode.
void setHapticFeedbackEnabled(boolean hapticFeedbackEnabled)
Set whether this view should have haptic feedback for events such as long presses.
void setHorizontalFadingEdgeEnabled(boolean horizontalFadingEdgeEnabled)

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

void setHorizontalScrollBarEnabled(boolean horizontalScrollBarEnabled)

Define whether the horizontal scrollbar should be drawn or not.

void setHovered(boolean hovered)
Sets whether the view is currently hovered.
void setId(int id)
Sets the identifier for this view.
void setKeepScreenOn(boolean keepScreenOn)
Controls whether the screen should remain on, modifying the value of KEEP_SCREEN_ON.
void setLayerType(int layerType, Paint paint)

Specifies the type of layer backing this view.

void setLayoutParams(ViewGroup.LayoutParams params)
Set the layout parameters associated with this view.
final void setLeft(int left)
Sets the left position of this view relative to its parent.
void setLongClickable(boolean longClickable)
Enables or disables long click events for this view.
void setMinimumHeight(int minHeight)
Sets the minimum height of the view.
void setMinimumWidth(int minWidth)
Sets the minimum width of the view.
void setNextFocusDownId(int nextFocusDownId)
Sets the id of the view to use when the next focus is FOCUS_DOWN.
void setNextFocusForwardId(int nextFocusForwardId)
Sets the id of the view to use when the next focus is FOCUS_FORWARD.
void setNextFocusLeftId(int nextFocusLeftId)
Sets the id of the view to use when the next focus is FOCUS_LEFT.
void setNextFocusRightId(int nextFocusRightId)
Sets the id of the view to use when the next focus is FOCUS_RIGHT.
void setNextFocusUpId(int nextFocusUpId)
Sets the id of the view to use when the next focus is FOCUS_UP.
void setOnClickListener(View.OnClickListener l)
Register a callback to be invoked when this view is clicked.
void setOnCreateContextMenuListener(View.OnCreateContextMenuListener l)
Register a callback to be invoked when the context menu for this view is being built.
void setOnDragListener(View.OnDragListener l)
Register a drag event listener callback object for this View.
void setOnFocusChangeListener(View.OnFocusChangeListener l)
Register a callback to be invoked when focus of this view changed.
void setOnGenericMotionListener(View.OnGenericMotionListener l)
Register a callback to be invoked when a generic motion event is sent to this view.
void setOnHoverListener(View.OnHoverListener l)
Register a callback to be invoked when a hover event is sent to this view.
void setOnKeyListener(View.OnKeyListener l)
Register a callback to be invoked when a key is pressed in this view.
void setOnLongClickListener(View.OnLongClickListener l)
Register a callback to be invoked when this view is clicked and held.
void setOnSystemUiVisibilityChangeListener(View.OnSystemUiVisibilityChangeListener l)
Set a listener to receive callbacks when the visibility of the system bar changes.
void setOnTouchListener(View.OnTouchListener l)
Register a callback to be invoked when a touch event is sent to this view.
void setOverScrollMode(int overScrollMode)
Set the over-scroll mode for this view.
void setPadding(int left, int top, int right, int bottom)
Sets the padding.
void setPivotX(float pivotX)
Sets the x location of the point around which the view is rotated and scaled.
void setPivotY(float pivotY)
Sets the y location of the point around which the view is rotated and scaled.
void setPressed(boolean pressed)
Sets the pressed state for this view.
final void setRight(int right)
Sets the right position of this view relative to its parent.
void setRotation(float rotation)
Sets the degrees that the view is rotated around the pivot point.
void setRotationX(float rotationX)
Sets the degrees that the view is rotated around the horizontal axis through the pivot point.
void setRotationY(float rotationY)
Sets the degrees that the view is rotated around the vertical axis through the pivot point.
void setSaveEnabled(boolean enabled)
Controls whether the saving of this view's state is enabled (that is, whether its onSaveInstanceState() method will be called).
void setSaveFromParentEnabled(boolean enabled)
Controls whether the entire hierarchy under this view will save its state when a state saving traversal occurs from its parent.
void setScaleX(float scaleX)
Sets the amount that the view is scaled in x around the pivot point, as a proportion of the view's unscaled width.
void setScaleY(float scaleY)
Sets the amount that the view is scaled in Y around the pivot point, as a proportion of the view's unscaled width.
void setScrollBarStyle(int style)

Specify the style of the scrollbars.

void setScrollContainer(boolean isScrollContainer)
Change whether this view is one of the set of scrollable containers in its window.
void setScrollX(int value)
Set the horizontal scrolled position of your view.
void setScrollY(int value)
Set the vertical scrolled position of your view.
void setScrollbarFadingEnabled(boolean fadeScrollbars)
Define whether scrollbars will fade when the view is not scrolling.
void setSelected(boolean selected)
Changes the selection state of this view.
void setSoundEffectsEnabled(boolean soundEffectsEnabled)
Set whether this view should have sound effects enabled for events such as clicking and touching.
void setSystemUiVisibility(int visibility)
Request that the visibility of the status bar be changed.
void setTag(int key, Object tag)
Sets a tag associated with this view and a key.
void setTag(Object tag)
Sets the tag associated with this view.
final void setTop(int top)
Sets the top position of this view relative to its parent.
void setTouchDelegate(TouchDelegate delegate)
Sets the TouchDelegate for this View.
void setTranslationX(float translationX)
Sets the horizontal location of this view relative to its left position.
void setTranslationY(float translationY)
Sets the vertical location of this view relative to its top position.
void setVerticalFadingEdgeEnabled(boolean verticalFadingEdgeEnabled)

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

void setVerticalScrollBarEnabled(boolean verticalScrollBarEnabled)

Define whether the vertical scrollbar should be drawn or not.

void setVerticalScrollbarPosition(int position)
Set the position of the vertical scroll bar.
void setVisibility(int visibility)
Set the enabled state of this view.
void setWillNotCacheDrawing(boolean willNotCacheDrawing)
When a View's drawing cache is enabled, drawing is redirected to an offscreen bitmap.
void setWillNotDraw(boolean willNotDraw)
If this view doesn't do any drawing on its own, set this flag to allow further optimizations.
void setX(float x)
Sets the visual x position of this view, in pixels.
void setY(float y)
Sets the visual y position of this view, in pixels.
boolean showContextMenu()
Bring up the context menu for this view.
ActionMode startActionMode(ActionMode.Callback callback)
Start an action mode.
void startAnimation(Animation animation)
Start the specified animation now.
final boolean startDrag(ClipData data, View.DragShadowBuilder shadowBuilder, Object myLocalState, int flags)
Starts a drag and drop operation.
void unscheduleDrawable(Drawable who)
Unschedule any events associated with the given Drawable.
void unscheduleDrawable(Drawable who, Runnable what)
Cancels a scheduled action on a drawable.
boolean willNotCacheDrawing()
Returns whether or not this View can cache its drawing or not.
boolean willNotDraw()
Returns whether or not this View draws on its own.
Protected Methods
boolean awakenScrollBars(int startDelay)

Trigger the scrollbars to draw.

boolean awakenScrollBars(int startDelay, boolean invalidate)

Trigger the scrollbars to draw.

boolean awakenScrollBars()

Trigger the scrollbars to draw.

int computeHorizontalScrollExtent()

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

int computeHorizontalScrollOffset()

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

int computeHorizontalScrollRange()

Compute the horizontal range that the horizontal scrollbar represents.

int computeVerticalScrollExtent()

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

int computeVerticalScrollOffset()

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

int computeVerticalScrollRange()

Compute the vertical range that the vertical scrollbar represents.

void dispatchDraw(Canvas canvas)
Called by draw to draw the child views.
boolean dispatchGenericFocusedEvent(MotionEvent event)
Dispatch a generic motion event to the currently focused view.
boolean dispatchGenericPointerEvent(MotionEvent event)
Dispatch a generic motion event to the view under the first pointer.
boolean dispatchHoverEvent(MotionEvent event)
Dispatch a hover event.
void dispatchRestoreInstanceState(SparseArray<Parcelable> container)
Called by restoreHierarchyState(android.util.SparseArray) to retrieve the state for this view and its children.
void dispatchSaveInstanceState(SparseArray<Parcelable> container)
Called by saveHierarchyState(android.util.SparseArray) to store the state for this view and its children.
void dispatchSetActivated(boolean activated)
Dispatch setActivated to all of this View's children.
void dispatchSetPressed(boolean pressed)
Dispatch setPressed to all of this View's children.
void dispatchSetSelected(boolean selected)
Dispatch setSelected to all of this View's children.
void dispatchVisibilityChanged(View changedView, int visibility)
Dispatch a view visibility change down the view hierarchy.
void drawableStateChanged()
This function is called whenever the state of the view changes in such a way that it impacts the state of drawables being shown.
boolean fitSystemWindows(Rect insets)
Apply the insets for system windows to this view, if the FITS_SYSTEM_WINDOWS flag is set
float getBottomFadingEdgeStrength()
Returns the strength, or intensity, of the bottom faded edge.
int getBottomPaddingOffset()
Amount by which to extend the bottom fading region.
ContextMenu.ContextMenuInfo getContextMenuInfo()
Views should implement this if they have extra information to associate with the context menu.
int getHorizontalScrollbarHeight()
Returns the height of the horizontal scrollbar.
float getLeftFadingEdgeStrength()
Returns the strength, or intensity, of the left faded edge.
int getLeftPaddingOffset()
Amount by which to extend the left fading region.
float getRightFadingEdgeStrength()
Returns the strength, or intensity, of the right faded edge.
int getRightPaddingOffset()
Amount by which to extend the right fading region.
int getSuggestedMinimumHeight()
Returns the suggested minimum height that the view should use.
int getSuggestedMinimumWidth()
Returns the suggested minimum width that the view should use.
float getTopFadingEdgeStrength()
Returns the strength, or intensity, of the top faded edge.
int getTopPaddingOffset()
Amount by which to extend the top fading region.
int getWindowAttachCount()
void initializeFadingEdge(TypedArray a)

Initializes the fading edges from a given set of styled attributes.

void initializeScrollbars(TypedArray a)

Initializes the scrollbars from a given set of styled attributes.

boolean isPaddingOffsetRequired()
If the View draws content inside its padding and enables fading edges, it needs to support padding offsets.
static int[] mergeDrawableStates(int[] baseState, int[] additionalState)
Merge your own state values in additionalState into the base state values baseState that were returned by onCreateDrawableState(int).
void onAnimationEnd()
Invoked by a parent ViewGroup to notify the end of the animation currently associated with this view.
void onAnimationStart()
Invoked by a parent ViewGroup to notify the start of the animation currently associated with this view.
void onAttachedToWindow()
This is called when the view is attached to a window.
void onConfigurationChanged(Configuration newConfig)
Called when the current configuration of the resources being used by the application have changed.
void onCreateContextMenu(ContextMenu menu)
Views should implement this if the view itself is going to add items to the context menu.
int[] onCreateDrawableState(int extraSpace)
Generate the new Drawable state for this view.
void onDetachedFromWindow()
This is called when the view is detached from a window.
void onDisplayHint(int hint)
Gives this view a hint about whether is displayed or not.
void onDraw(Canvas canvas)
Implement this to do your drawing.
final void onDrawScrollBars(Canvas canvas)

Request the drawing of the horizontal and the vertical scrollbar.

void onFinishInflate()
Finalize inflating a view from XML.
void onFocusChanged(boolean gainFocus, int direction, Rect previouslyFocusedRect)
Called by the view system when the focus state of this view changes.
void onLayout(boolean changed, int left, int top, int right, int bottom)
Called from layout when this view should assign a size and position to each of its children.
void onMeasure(int widthMeasureSpec, int heightMeasureSpec)

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

void onOverScrolled(int scrollX, int scrollY, boolean clampedX, boolean clampedY)
Called by overScrollBy(int, int, int, int, int, int, int, int, boolean) to respond to the results of an over-scroll operation.
void onRestoreInstanceState(Parcelable state)
Hook allowing a view to re-apply a representation of its internal state that had previously been generated by onSaveInstanceState().
Parcelable onSaveInstanceState()
Hook allowing a view to generate a representation of its internal state that can later be used to create a new instance with that same state.
void onScrollChanged(int l, int t, int oldl, int oldt)
This is called in response to an internal scroll in this view (i.e., the view scrolled its own contents).
boolean onSetAlpha(int alpha)
Invoked if there is a Transform that involves alpha.
void onSizeChanged(int w, int h, int oldw, int oldh)
This is called during layout when the size of this view has changed.
void onVisibilityChanged(View changedView, int visibility)
Called when the visibility of the view or an ancestor of the view is changed.
void onWindowVisibilityChanged(int visibility)
Called when the window containing has change its visibility (between GONE, INVISIBLE, and VISIBLE).
boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent)
Scroll the view with standard behavior for scrolling beyond the normal content boundaries.
final void setMeasuredDimension(int measuredWidth, int measuredHeight)

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

boolean verifyDrawable(Drawable who)
If your view subclass is displaying its own Drawable objects, it should override this function and return true for any Drawable it is displaying.
[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

XML Attributes

android:alpha

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.

Related Methods

android:background

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

May be a reference to another resource, in the form "@[+][package:]type:name" or 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.

Related Methods

android:clickable

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.

Related Methods

android:contentDescription

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

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.

android:drawingCacheQuality

Defines the quality of translucent drawing caches. This property is used only when the drawing cache is enabled and translucent. The default value is auto.

Must be one of the following constant values.

ConstantValueDescription
auto0 Lets the framework decide what quality level should be used for the drawing cache.
low1 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.
high2 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.

Related Methods

android:duplicateParentState

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

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.

Related Methods

android:fadingEdgeLength

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.

android:filterTouchesWhenObscured

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

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.

android:fitsSystemWindows

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

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.

android:focusable

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.

Related Methods

android:focusableInTouchMode

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

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.

android:hapticFeedbackEnabled

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.

android:id

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

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.

Related Methods

android:isScrollContainer

Set this if the view will serve as a scrolling container, meaing 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.

Related Methods

android:keepScreenOn

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.

Related Methods

android:layerType

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.

ConstantValueDescription
none0 Don't use a layer.
software1 Use a software layer. Refer to for more information.
hardware2 Use a hardware layer. Refer to {@link android.view.View#setLayerType(int, android.graphics.Paint) for more information.

This corresponds to the global attribute resource symbol {@link android.R.attr#layerType.

Related Methods

android:longClickable

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.

Related Methods

android:minHeight

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

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.

Related Methods

android:minWidth

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

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.

Related Methods

android:nextFocusDown

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.

Related Methods

android:nextFocusForward

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.

Related Methods

android:nextFocusLeft

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.

Related Methods

android:nextFocusRight

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.

Related Methods

android:nextFocusUp

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.

Related Methods

android:onClick

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

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.

Related Methods

android:padding

Sets the padding, in pixels, of all four edges. Padding is defined as space between the edges of the view and the view's content. 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.

Related Methods

android:paddingBottom

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.

Related Methods

android:paddingLeft

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.

Related Methods

android:paddingRight

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.

Related Methods

android:paddingTop

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.

Related Methods

android:requiresFadingEdge

Defines which edges should be faded on scrolling.

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

ConstantValueDescription
none0x00000000 No edge is faded.
horizontal0x00001000 Fades horizontal edges only.
vertical0x00002000 Fades vertical edges only.

This corresponds to the global attribute resource symbol requiresFadingEdge.

android:rotation

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.

Related Methods

android:rotationX

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.

Related Methods

android:rotationY

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.

Related Methods

android:saveEnabled

If unset, 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.

Related Methods

android:scaleX

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.

Related Methods

android:scaleY

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.

Related Methods

android:scrollX

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.

Related Methods

android:scrollY

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.

Related Methods

android:scrollbarAlwaysDrawHorizontalTrack

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.

Related Methods

android:scrollbarAlwaysDrawVerticalTrack

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.

Related Methods

android:scrollbarDefaultDelayBeforeFade

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.

Related Methods

android:scrollbarFadeDuration

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.

Related Methods

android:scrollbarSize

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.

Related Methods

android:scrollbarStyle

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

Must be one of the following constant values.

ConstantValueDescription
insideOverlay0x0 Inside the padding and overlaid
insideInset0x01000000 Inside the padding and inset
outsideOverlay0x02000000 Edge of the view and overlaid
outsideInset0x03000000 Edge of the view and inset

This corresponds to the global attribute resource symbol scrollbarStyle.

Related Methods

android:scrollbarThumbHorizontal

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.

Related Methods

android:scrollbarThumbVertical

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.

Related Methods

android:scrollbarTrackHorizontal

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.

Related Methods

android:scrollbarTrackVertical

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.

Related Methods

android:scrollbars

Defines which scrollbars should be displayed on scrolling or not.

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

ConstantValueDescription
none0x00000000 No scrollbar is displayed.
horizontal0x00000100 Displays horizontal scrollbar only.
vertical0x00000200 Displays vertical scrollbar only.

This corresponds to the global attribute resource symbol scrollbars.

Related Methods

android:soundEffectsEnabled

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.

android:tag

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

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.

Related Methods

android:transformPivotX

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

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.

Related Methods

android:transformPivotY

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

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.

Related Methods

android:translationX

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

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.

Related Methods

android:translationY

translation in y 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 translationY.

Related Methods

android:visibility

Controls the initial visibility of the view.

Must be one of the following constant values.

ConstantValueDescription
visible0 Visible on screen; the default value.
invisible1 Not displayed, but taken into account during layout (space is left for it).
gone2 Completely hidden, as if the view had not been added.

This corresponds to the global attribute resource symbol visibility.

Related Methods

Constants

public static final int DRAWING_CACHE_QUALITY_AUTO

Since: API Level 1

Enables automatic quality mode for the drawing cache.

Constant Value: 0 (0x00000000)

public static final int DRAWING_CACHE_QUALITY_HIGH

Since: API Level 1

Enables high quality mode for the drawing cache.

Constant Value: 1048576 (0x00100000)

public static final int DRAWING_CACHE_QUALITY_LOW

Since: API Level 1

Enables low quality mode for the drawing cache.

Constant Value: 524288 (0x00080000)

public static final int FIND_VIEWS_WITH_CONTENT_DESCRIPTION

Since: API Level 14

Find find views that contain the specified content description.

Constant Value: 2 (0x00000002)

public static final int FIND_VIEWS_WITH_TEXT

Since: API Level 14

Find views that render the specified text.

Constant Value: 1 (0x00000001)

public static final int FOCUSABLES_ALL

Since: API Level 4

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

Constant Value: 0 (0x00000000)

public static final int FOCUSABLES_TOUCH_MODE

Since: API Level 4

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

Constant Value: 1 (0x00000001)

public static final int FOCUS_BACKWARD

Since: API Level 1

Use with focusSearch(int). Move focus to the previous selectable item.

Constant Value: 1 (0x00000001)

public static final int FOCUS_DOWN

Since: API Level 1

Use with focusSearch(int). Move focus down.

Constant Value: 130 (0x00000082)

public static final int FOCUS_FORWARD

Since: API Level 1

Use with focusSearch(int). Move focus to the next selectable item.

Constant Value: 2 (0x00000002)

public static final int FOCUS_LEFT

Since: API Level 1

Use with focusSearch(int). Move focus to the left.

Constant Value: 17 (0x00000011)

public static final int FOCUS_RIGHT

Since: API Level 1

Use with focusSearch(int). Move focus to the right.

Constant Value: 66 (0x00000042)

public static final int FOCUS_UP

Since: API Level 1

Use with focusSearch(int). Move focus up.

Constant Value: 33 (0x00000021)

public static final int GONE

Since: API Level 1

This view is invisible, and it doesn't take any space for layout purposes. Use with setVisibility(int) and android:visibility.

Constant Value: 8 (0x00000008)

public static final int HAPTIC_FEEDBACK_ENABLED

Since: API Level 3

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

Constant Value: 268435456 (0x10000000)

public static final int INVISIBLE

Since: API Level 1

This view is invisible, but it still takes up space for layout purposes. Use with setVisibility(int) and android:visibility.

Constant Value: 4 (0x00000004)

public static final int KEEP_SCREEN_ON

Since: API Level 1

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.

Constant Value: 67108864 (0x04000000)

public static final int LAYER_TYPE_HARDWARE

Since: API Level 11

Indicates that the view has a hardware layer. A hardware layer is backed by a hardware specific texture (generally Frame Buffer Objects or FBO on OpenGL hardware) and causes the view to be rendered using Android's hardware rendering pipeline, but only if hardware acceleration is turned on for the view hierarchy. When hardware acceleration is turned off, hardware layers behave exactly as software layers.

A hardware layer is useful to apply a specific color filter and/or blending mode and/or translucency to a view and all its children.

A hardware layer can be used to cache a complex view tree into a texture and reduce the complexity of drawing operations. For instance, when animating a complex view tree with a translation, a hardware layer can be used to render the view tree only once.

A hardware layer can also be used to increase the rendering quality when rotation transformations are applied on a view. It can also be used to prevent potential clipping issues when applying 3D transforms on a view.

Constant Value: 2 (0x00000002)

public static final int LAYER_TYPE_NONE

Since: API Level 11

Indicates that the view does not have a layer.

Constant Value: 0 (0x00000000)

public static final int LAYER_TYPE_SOFTWARE

Since: API Level 11

Indicates that the view has a software layer. A software layer is backed by a bitmap and causes the view to be rendered using Android's software rendering pipeline, even if hardware acceleration is enabled.

Software layers have various usages:

When the application is not using hardware acceleration, a software layer is useful to apply a specific color filter and/or blending mode and/or translucency to a view and all its children.

When the application is using hardware acceleration, a software layer is useful to render drawing primitives not supported by the hardware accelerated pipeline. It can also be used to cache a complex view tree into a texture and reduce the complexity of drawing operations. For instance, when animating a complex view tree with a translation, a software layer can be used to render the view tree only once.

Software layers should be avoided when the affected view tree updates often. Every update will require to re-render the software layer, which can potentially be slow (particularly when hardware acceleration is turned on since the layer will have to be uploaded into a hardware texture after every update.)

Constant Value: 1 (0x00000001)

public static final int MEASURED_HEIGHT_STATE_SHIFT

Since: API Level 11

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

Constant Value: 16 (0x00000010)

public static final int MEASURED_SIZE_MASK

Since: API Level 11

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

Constant Value: 16777215 (0x00ffffff)

public static final int MEASURED_STATE_MASK

Since: API Level 11

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

Constant Value: -16777216 (0xff000000)

public static final int MEASURED_STATE_TOO_SMALL

Since: API Level 11

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

Constant Value: 16777216 (0x01000000)

public static final int NO_ID

Since: API Level 1

Used to mark a View that has no ID.

Constant Value: -1 (0xffffffff)

public static final int OVER_SCROLL_ALWAYS

Since: API Level 9

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

Constant Value: 0 (0x00000000)

public static final int OVER_SCROLL_IF_CONTENT_SCROLLS

Since: API Level 9

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

Constant Value: 1 (0x00000001)

public static final int OVER_SCROLL_NEVER

Since: API Level 9

Never allow a user to over-scroll this view.

Constant Value: 2 (0x00000002)

public static final int SCROLLBARS_INSIDE_INSET

Since: API Level 1

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

Constant Value: 16777216 (0x01000000)

public static final int SCROLLBARS_INSIDE_OVERLAY

Since: API Level 1

The scrollbar style to display the scrollbars inside the content area, without increasing the padding. The scrollbars will be overlaid with translucency on the view's content.

Constant Value: 0 (0x00000000)

public static final int SCROLLBARS_OUTSIDE_INSET

Since: API Level 1

The scrollbar style to display the scrollbars at the edge of the view, increasing the padding of the view. The scrollbars will only overlap the background, if any.

Constant Value: 50331648 (0x03000000)

public static final int SCROLLBARS_OUTSIDE_OVERLAY

Since: API Level 1

The scrollbar style to display the scrollbars at the edge of the view, without increasing the padding. The scrollbars will be overlaid with translucency.

Constant Value: 33554432 (0x02000000)

public static final int SCROLLBAR_POSITION_DEFAULT

Since: API Level 11

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

Constant Value: 0 (0x00000000)

public static final int SCROLLBAR_POSITION_LEFT

Since: API Level 11

Position the scroll bar along the left edge.

Constant Value: 1 (0x00000001)

public static final int SCROLLBAR_POSITION_RIGHT

Since: API Level 11

Position the scroll bar along the right edge.

Constant Value: 2 (0x00000002)

public static final int SOUND_EFFECTS_ENABLED

Since: API Level 1

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

Constant Value: 134217728 (0x08000000)

public static final int STATUS_BAR_HIDDEN

Since: API Level 11

This constant is deprecated.
Use SYSTEM_UI_FLAG_LOW_PROFILE instead.

Constant Value: 1 (0x00000001)

public static final int STATUS_BAR_VISIBLE

Since: API Level 11

This constant is deprecated.
Use SYSTEM_UI_FLAG_VISIBLE instead.

Constant Value: 0 (0x00000000)

public static final int SYSTEM_UI_FLAG_HIDE_NAVIGATION

Since: API Level 14

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.

Constant Value: 2 (0x00000002)

public static final int SYSTEM_UI_FLAG_LOW_PROFILE

Since: API Level 14

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.

Constant Value: 1 (0x00000001)

public static final int SYSTEM_UI_FLAG_VISIBLE

Since: API Level 14

View has requested the system UI (status bar) to be visible (the default).

Constant Value: 0 (0x00000000)