Android
android.view
public class

android.view.View

java.lang.Object
android.view.View Drawable.Callback KeyEvent.Callback

The View class represents the basic UI building block. A view occupies a rectangular area on the screen and is responsible for drawing and event handling. View is the base class for widgets, used to create interactive graphical user interfaces.

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(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(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, 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 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() and 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
  • FILL_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 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.

The framework will not draw views that are not in the invalid region, and also will take care of drawing the views background for you.

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) 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.

Nested Classes
View.BaseSavedState  
View.MeasureSpec A MeasureSpec encapsulates the layout requirements passed from parent to child. 
View.OnClickListener Interface definition for a callback to be invoked when a view is clicked. 
View.OnCreateContextMenuListener Interface definition for a callback to be invoked when the context menu for this view is being built. 
View.OnFocusChangeListener Interface definition for a callback to be invoked when the focus state of a view changed. 
View.OnKeyListener Interface definition for a callback to be invoked when a key event is dispatched to this view. 
View.OnLongClickListener Interface definition for a callback to be invoked when a view has been clicked and held. 
View.OnTouchListener Interface definition for a callback to be invoked when a touch event is dispatched to this view. 
Known Direct Subclasses
Known Indirect Subclasses

See Also

Summary

XML Attributes

Attribute name Related methods  
android:background setBackgroundResource(int)
 
A drawable to use as the background. 
android:clickable setClickable(boolean)
 
Defines whether this view reacts to click events. 
android:drawingCacheQuality setDrawingCacheQuality(int)
 
Defines the quality of translucent drawing caches. 
android:fadingEdge setVerticalFadingEdgeEnabled(boolean)
 
Defines which edges should be fadeded on scrolling. 
android:fadingEdgeLength getVerticalFadingEdgeLength()
 
Defines the length of the fading edges. 
android:fitsSystemWindows   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:id setId(int)
 
Supply an identifier name for this view, to later retrieve it with View.findViewById() or Activity.findViewById()
android:keepScreenOn setKeepScreenOn(boolean)
 
Controls whether the view's window should keep the screen on while visible. 
android:longClickable setLongClickable(boolean)
 
Defines whether this view reacts to long click events. 
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: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: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:saveEnabled setSaveEnabled(boolean)
 
If unset, no state will be saved for this view when it is being frozen. 
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

Must be a boolean value, either "true" or "false". 

android:scrollbarSize   Sets the width of vertical scrollbars and height of horizontal scrollbars. 
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:visibility setVisibility(int)
 
Controls the initial visibility of the view. 

Constants

      Value  
int  DRAWING_CACHE_QUALITY_AUTO 

Enables automatic quality mode for the drawing cache. 

0x00000000 
int  DRAWING_CACHE_QUALITY_HIGH 

Enables high quality mode for the drawing cache. 

1048576  0x00100000 
int  DRAWING_CACHE_QUALITY_LOW 

Enables low quality mode for the drawing cache. 

524288  0x00080000 
int[]  EMPTY_STATE_SET  Indicates the view has no states set.     
int[]  ENABLED_FOCUSED_SELECTED_STATE_SET  Indicates the view is enabled, focused and selected.     
int[]  ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET  Indicates the view is enabled, focused, selected and its window has the focus.     
int[]  ENABLED_FOCUSED_STATE_SET  Indicates the view is enabled and has the focus.     
int[]  ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET  Indicates the view is enabled, focused and its window has the focus.     
int[]  ENABLED_SELECTED_STATE_SET  Indicates the view is enabled and selected.     
int[]  ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET  Indicates the view is enabled, selected and its window has the focus.     
int[]  ENABLED_STATE_SET  Indicates the view is enabled.     
int[]  ENABLED_WINDOW_FOCUSED_STATE_SET  Indicates the view is enabled and that its window has focus.     
int[]  FOCUSED_SELECTED_STATE_SET  Indicates the view is focused and selected.     
int[]  FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET  Indicates the view is focused, selected and its window has the focus.     
int[]  FOCUSED_STATE_SET  Indicates the view is focused.     
int[]  FOCUSED_WINDOW_FOCUSED_STATE_SET  Indicates the view has the focus and that its window has the focus.     
int  FOCUS_BACKWARD  Use with focusSearch(int) 0x00000001 
int  FOCUS_DOWN  Use with focusSearch(int) 130  0x00000082 
int  FOCUS_FORWARD  Use with focusSearch(int) 0x00000002 
int  FOCUS_LEFT  Use with focusSearch(int) 17  0x00000011 
int  FOCUS_RIGHT  Use with focusSearch(int) 66  0x00000042 
int  FOCUS_UP  Use with focusSearch(int) 33  0x00000021 
int  GONE  This view is invisible, and it doesn't take any space for layout purposes.  0x00000008 
int  INVISIBLE  This view is invisible, but it still takes up space for layout purposes.  0x00000004 
int  KEEP_SCREEN_ON  View flag indicating that the screen should remain on while the window containing this view is visible to the user.  67108864  0x04000000 
int  NO_ID  Used to mark a View that has no ID.  -1  0xffffffff 
int[]  PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET  Indicates the view is pressed, enabled, focused and selected.     
int[]  PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET  Indicates the view is pressed, enabled, focused, selected and its window has the focus.     
int[]  PRESSED_ENABLED_FOCUSED_STATE_SET  Indicates the view is pressed, enabled and focused.     
int[]  PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET  Indicates the view is pressed, enabled, focused and its window has the focus.     
int[]  PRESSED_ENABLED_SELECTED_STATE_SET  Indicates the view is pressed, enabled and selected.     
int[]  PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET  Indicates the view is pressed, enabled, selected and its window has the focus.     
int[]  PRESSED_ENABLED_STATE_SET  Indicates the view is pressed and enabled.     
int[]  PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET  Indicates the view is pressed, enabled and its window has the focus.     
int[]  PRESSED_FOCUSED_SELECTED_STATE_SET  Indicates the view is pressed, focused and selected.     
int[]  PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET  Indicates the view is pressed, focused, selected and its window has the focus.     
int[]  PRESSED_FOCUSED_STATE_SET  Indicates the view is pressed and focused.     
int[]  PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET  Indicates the view is pressed, focused and its window has the focus.     
int[]  PRESSED_SELECTED_STATE_SET  Indicates the view is pressed and selected.     
int[]  PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET  Indicates the view is pressed, selected and its window has the focus.     
int[]  PRESSED_WINDOW_FOCUSED_STATE_SET  Indicates the view is pressed and its window has the focus.     
int  SCROLLBARS_INSIDE_INSET  The scrollbar style to display the scrollbars inside the padded area, increasing the padding of the view.  16777216  0x01000000 
int  SCROLLBARS_INSIDE_OVERLAY  The scrollbar style to display the scrollbars inside the content area, without increasing the padding.  0x00000000 
int  SCROLLBARS_OUTSIDE_INSET  The scrollbar style to display the scrollbars at the edge of the view, increasing the padding of the view.  50331648  0x03000000 
int  SCROLLBARS_OUTSIDE_OVERLAY  The scrollbar style to display the scrollbars at the edge of the view, without increasing the padding.  33554432  0x02000000 
int[]  SELECTED_STATE_SET  Indicates the view is selected.     
int[]  SELECTED_WINDOW_FOCUSED_STATE_SET  Indicates the view is selected and that its window has the focus.     
String  VIEW_LOG_TAG  The logging tag used by this class with android.util.Log.  "View" 
int  VISIBLE  This view is visible.  0x00000000 
int[]  WINDOW_FOCUSED_STATE_SET  Indicates the view's window has focus.     

Fields

protected      int  mBottom  The distance in pixels from the top edge of this view's parent to the bottom edge of this view. 
protected      Context  mContext  The application environment this view lives in. 
protected      ViewGroup.LayoutParams  mLayoutParams  The layout parameters associated with this view and used by the parent ViewGroup to determine how this view should be laid out. 
protected      int  mLeft  The distance in pixels from the left edge of this view's parent to the left edge of this view. 
protected    final  int[]  mLocation  Used to store a pair of coordinates, for instance returned values returned by getLocationInWindow(int[])
protected      View.OnClickListener  mOnClickListener  Listener used to dispatch click events. 
protected      View.OnCreateContextMenuListener  mOnCreateContextMenuListener  Listener used to build the context menu. 
protected      View.OnFocusChangeListener  mOnFocusChangeListener  Listener used to dispatch focus change events. 
protected      View.OnLongClickListener  mOnLongClickListener  Listener used to dispatch long click events. 
protected      int  mPaddingBottom  The bottom padding in pixels, that is the distance in pixels between the bottom edge of this view and the bottom edge of its content. 
protected      int  mPaddingLeft  The left padding in pixels, that is the distance in pixels between the left edge of this view and the left edge of its content. 
protected      int  mPaddingRight  The right padding in pixels, that is the distance in pixels between the right edge of this view and the right edge of its content. 
protected      int  mPaddingTop  The top padding in pixels, that is the distance in pixels between the top edge of this view and the top edge of its content. 
protected      ViewParent  mParent  The parent this view is attached to. 
protected      int  mRight  The distance in pixels from the left edge of this view's parent to the right edge of this view. 
protected      int  mScrollX  The offset, in pixels, by which the content of this view is scrolled horizontally. 
protected      int  mScrollY  The offset, in pixels, by which the content of this view is scrolled vertically. 
protected      Object  mTag  The view's tag. 
protected      int  mTop  The distance in pixels from the top edge of this view's parent to the top edge of this view. 
protected      int  mUserPaddingBottom  Cache the paddingBottom set by the user to append to the scrollbar's size. 
protected      int  mUserPaddingRight  Cache the paddingRight set by the user to append to the scrollbar's size. 

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  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.
          void  bringToFront()
Change the view's z order in the tree, so it's on top of other sibling views
          void  buildDrawingCache()

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

          void  cancelLongPress()
Cancels a pending long press.
          void  clearAnimation()
Cancels any animations for this view.
          void  clearFocus()
Called when this view wants to give up focus.
          void  computeScroll()
Called by a parent to request that a child update its values for mScrollX and mScrollY if necessary.
          void  createContextMenu(ContextMenu menu)
Show the context menu for this view.
          void  destroyDrawingCache()

Frees the resources used by the drawing cache.

          boolean  dispatchKeyEvent(KeyEvent event)
Dispatch a key event to the next view on the focus path.
          boolean  dispatchKeyShortcutEvent(KeyEvent event)
Dispatches a key shortcut event.
          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.
          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.
          Animation  getAnimation()
Get the animation currently associated with this view.
          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.
    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()

Returns the bitmap in which this view drawing is cached.

          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.

          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)
    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.
          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.

    final      int  getMeasuredHeight()
The height of this view as measured in the most recent call to measure().
    final      int  getMeasuredWidth()
The width of this view as measured in the most recent call to measure().
          int  getNextFocusDownId()
          int  getNextFocusLeftId()
          int  getNextFocusRightId()
          int  getNextFocusUpId()
          View.OnFocusChangeListener  getOnFocusChangeListener()
Returns the focus-change callback registered 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.
          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.

          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.
          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.
          int  getVerticalFadingEdgeLength()
Returns the size of the vertical faded edges used to indicate that more content in this view is visible.
          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).
          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  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(int l, int t, int r, int b)
Mark the the area defined by the rect (l,t,r,b) as needing to be drawn.
          void  invalidate()
Invalidate the whole view.
          void  invalidate(Rect dirty)
Mark the the area defined by dirty as needing to be drawn.
          void  invalidateDrawable(Drawable drawable)
Invalidates the specified Drawable.
          boolean  isClickable()
Indicates whether this view reacts to click events or not.
          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  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  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  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  isSelected()
Indicates the selection state of this view.
          boolean  isShown()
Returns the visibility of this view and all of its ancestors
          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.

    final      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.

          boolean  onKeyDown(int keyCode, KeyEvent event)
Default implementation of KeyEvent.Callback.onKeyMultiple(): perform press of the view when KEYCODE_DPAD_CENTER or KEYCODE_ENTER is released, if the view is enabled and clickable.
          boolean  onKeyMultiple(int keyCode, int repeatCount, KeyEvent event)
Default implementation of KeyEvent.Callback.onKeyMultiple(): always returns false (doesn't handle the event).
          boolean  onKeyShortcut(int keyCode, KeyEvent event)
Called when an unhandled key shortcut event occurs.
          boolean  onKeyUp(int keyCode, KeyEvent event)
Default implementation of KeyEvent.Callback.onKeyMultiple(): perform clicking of the view when KEYCODE_DPAD_CENTER or KEYCODE_ENTER is released.
          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  performLongClick()
Call this view's OnLongClickListener, if it is defined.
          boolean  post(Runnable action)
Causes the Runnable to be added to the message queue.
          boolean  postDelayed(Runnable action, long delayMillis)
Causes the Runnable to be added to the message queue, to be run after the specified amount of time elapses.
          void  postInvalidate()
Cause an invalidate to happen on a subsequent cycle through the event loop.
          void  postInvalidate(int left, int top, int right, int bottom)
Cause an invalidate of the specified area to happen on a subsequent cycle through the event loop.
          void  postInvalidateDelayed(long delayMilliseconds)
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  refreshDrawableState()
Call this to force a view to update its drawable state.
          boolean  removeCallbacks(Runnable action)
Removes the specified Runnable from the message queue.
    final      boolean  requestFocus()
Call this to try to give focus to a specific view or to one of its descendants.
          boolean  requestFocus(int direction, Rect previouslyFocusedRect)
Call this to try to give focus to a specific view or to one of its descendants and give it hints about the direction and a specific rectangle that the focus is coming from.
    final      boolean  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  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, boolean immediate)
Request that a rectangle of this view be visible on the screen, scrolling if necessary just enough.
          boolean  requestRectangleOnScreen(Rect rectangle)
Request that a rectangle of this view be visible on the screen, scrolling if necessary just enough.
      static    int  resolveSize(int size, int measureSpec)
Utility to reconcile a desired size 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  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.
          void  setClickable(boolean clickable)
Enables or disables click events for this view.
          void  setDrawingCacheBackgroundColor(int color)
Setting a solid background color for the drawing cache's bitmaps will improve perfromance 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  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  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  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  setLayoutParams(ViewGroup.LayoutParams params)
Set the layout parameters associated with this view.
          void  setLongClickable(boolean longClickable)
Enables or disables long click events for this view.
          void  setMinimumHeight(int minHeight)
Sets the minimum height of the view.
          void  setMinimumWidth(int minWidth)
Sets the minimum width of the view.
          void  setNextFocusDownId(int nextFocusDownId)
Set the id of the view to use for the next focus
          void  setNextFocusLeftId(int nextFocusLeftId)
Set the id of the view to use for the next focus
          void  setNextFocusRightId(int nextFocusRightId)
Set the id of the view to use for the next focus
          void  setNextFocusUpId(int nextFocusUpId)
Set the id of the view to use for the next focus
          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  setOnFocusChangeListener(View.OnFocusChangeListener l)
Register a callback to be invoked when focus of this view changed.
          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  setOnTouchListener(View.OnTouchListener l)
Register a callback to be invoked when a touch event is sent to this view.
          void  setPadding(int left, int top, int right, int bottom)
Sets the padding.
          void  setPressed(boolean pressed)
Sets the pressed that for this view.
          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  setScrollBarStyle(int style)

Specify the style of the scrollbars.

          void  setSelected(boolean selected)
Changes the selection state of this view.
          void  setTag(Object tag)
Sets the tag associated with this view.
          void  setTouchDelegate(TouchDelegate delegate)
Sets the TouchDelegate for this View.
          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  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.
          boolean  showContextMenu()
Bring up the context menu for this view.
          void  startAnimation(Animation animation)
Start the specified animation now.
          void  unscheduleDrawable(Drawable who, Runnable what)
Cancels a scheduled action on a drawable.
          void  unscheduleDrawable(Drawable who)
Unschedule any events associated with the given Drawable.
          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

          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.
          void  dispatchRestoreInstanceState(SparseArray<Parcelable> container)
Called by restoreHierarchyState(SparseArray) to retrieve the state for this view and its children.
          void  dispatchSaveInstanceState(SparseArray<Parcelable> container)
Called by saveHierarchyState(SparseArray) to store the state for this view and its 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  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.
          void  finalize()
Called by the virtual machine when there are no longer any (non-weak) references to the receiver.
          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.
          ContextMenu.ContextMenuInfo  getContextMenuInfo()
Views should implement this if they have extra information to associate with the context menu.
          Handler  getHandler()
          int  getHorizontalScrollbarHeight()
Returns the height of the horizontal scrollbar.
          float  getLeftFadingEdgeStrength()
Returns the strength, or intensity, of the left faded edge.
          float  getRightFadingEdgeStrength()
Returns the strength, or intensity, of the right faded edge.
          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  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.

      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  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  onDraw(Canvas canvas)
Implement this to do your drawing.
          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  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  onWindowVisibilityChanged(int visibility)
Called when the window containing has change its visibility (between GONE, INVISIBLE, and VISIBLE).
    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.
Methods inherited from class java.lang.Object
Methods inherited from interface android.graphics.drawable.Drawable.Callback
Methods inherited from interface android.view.KeyEvent.Callback

Details

XML Attributes

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: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:fadingEdge

Defines which edges should be fadeded 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 fadingEdge.

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), db (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: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.

Related Methods

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: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: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 is a private symbol.

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: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: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: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), db (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), db (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), db (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), db (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), db (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: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: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), db (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), db (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: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), db (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: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: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

Enables automatic quality mode for the drawing cache.

Constant Value: 0 (0x00000000)

public static final int DRAWING_CACHE_QUALITY_HIGH

Enables high quality mode for the drawing cache.

Constant Value: 1048576 (0x00100000)

public static final int DRAWING_CACHE_QUALITY_LOW

Enables low quality mode for the drawing cache.

Constant Value: 524288 (0x00080000)

protected static final int[] EMPTY_STATE_SET

Indicates the view has no states set. States are used with Drawable to change the drawing of the view depending on its state.

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. States are used with Drawable to change the drawing of the view depending on its state.

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. States are used with Drawable to change the drawing of the view depending on its state.

protected static final int[] FOCUSED_WINDOW_FOCUSED_STATE_SET

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

public static final int FOCUS_BACKWARD

Use with focusSearch(int). Move focus to the previous selectable item.
Constant Value: 1 (0x00000001)

public static final int FOCUS_DOWN

Use with focusSearch(int). Move focus down.
Constant Value: 130 (0x00000082)

public static final int FOCUS_FORWARD

Use with focusSearch(int). Move focus to the next selectable item.
Constant Value: 2 (0x00000002)

public static final int FOCUS_LEFT

Use with focusSearch(int). Move focus to the left.
Constant Value: 17 (0x00000011)

public static final int FOCUS_RIGHT

Use with focusSearch(int). Move focus to the right.
Constant Value: 66 (0x00000042)

public static final int FOCUS_UP

Use with focusSearch(int). Move focus up.
Constant Value: 33 (0x00000021)

public static final int GONE

This view is invisible, and it doesn't take any space for layout purposes. Use with setVisibility(int).
Constant Value: 8 (0x00000008)

public static final int INVISIBLE

This view is invisible, but it still takes up space for layout purposes. Use with setVisibility(int).
Constant Value: 4 (0x00000004)

public static final int KEEP_SCREEN_ON

View flag indicating that the screen should remain on while the window containing this view is visible to the user. This effectively takes care of automatically setting the WindowManager's FLAG_KEEP_SCREEN_ON.
Constant Value: 67108864 (0x04000000)

public static final int NO_ID

Used to mark a View that has no ID.
Constant Value: -1 (0xffffffff)

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 final int SCROLLBARS_INSIDE_INSET

The scrollbar style to display the scrollbars inside the padded area, increasing the padding of the view. The scrollbars will not overlap the content area of the view.
Constant Value: 16777216 (0x01000000)

public static final int SCROLLBARS_INSIDE_OVERLAY

The scrollbar style to display the scrollbars inside the content area, without increasing the padding. The scrollbars will be overlaid with translucency on the view's content.
Constant Value: 0 (0x00000000)

public static final int SCROLLBARS_OUTSIDE_INSET

The scrollbar style to display the scrollbars at the edge of the view, increasing the padding of the view. The scrollbars will only overlap the background, if any.
Constant Value: 50331648 (0x03000000)

public static final int SCROLLBARS_OUTSIDE_OVERLAY

The scrollbar style to display the scrollbars at the edge of the view, without increasing the padding. The scrollbars will be overlaid with translucency.
Constant Value: 33554432 (0x02000000)

protected static final int[] SELECTED_STATE_SET

Indicates the view is selected. States are used with Drawable to change the drawing of the view depending on its state.

protected static final int[] SELECTED_WINDOW_FOCUSED_STATE_SET

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

protected static final String VIEW_LOG_TAG

The logging tag used by this class with android.util.Log.
Constant Value: "View"

public static final int VISIBLE

This view is visible. Use with setVisibility(int).
Constant Value: 0 (0x00000000)

protected static final int[] WINDOW_FOCUSED_STATE_SET

Indicates the view's window has focus. States are used with Drawable to change the drawing of the view depending on its state.

Fields

protected int mBottom

The distance in pixels from the top edge of this view's parent to the bottom edge of this view.

protected Context mContext

The application environment this view lives in.

protected ViewGroup.LayoutParams mLayoutParams

The layout parameters associated with this view and used by the parent ViewGroup to determine how this view should be laid out.

protected int mLeft

The distance in pixels from the left edge of this view's parent to the left edge of this view.

protected final int[] mLocation

Used to store a pair of coordinates, for instance returned values returned by getLocationInWindow(int[]).

protected View.OnClickListener mOnClickListener

Listener used to dispatch click events.

protected View.OnCreateContextMenuListener mOnCreateContextMenuListener

Listener used to build the context menu.

protected View.OnFocusChangeListener mOnFocusChangeListener

Listener used to dispatch focus change events.

protected View.OnLongClickListener mOnLongClickListener

Listener used to dispatch long click events.

protected int mPaddingBottom

The bottom padding in pixels, that is the distance in pixels between the bottom edge of this view and the bottom edge of its content.

protected int mPaddingLeft

The left padding in pixels, that is the distance in pixels between the left edge of this view and the left edge of its content.

protected int mPaddingRight

The right padding in pixels, that is the distance in pixels between the right edge of this view and the right edge of its content.

protected int mPaddingTop

The top padding in pixels, that is the distance in pixels between the top edge of this view and the top edge of its content.

protected ViewParent mParent

The parent this view is attached to.

See Also

protected int mRight

The distance in pixels from the left edge of this view's parent to the right edge of this view.

protected int mScrollX

The offset, in pixels, by which the content of this view is scrolled horizontally.

protected int mScrollY

The offset, in pixels, by which the content of this view is scrolled vertically.

protected Object mTag

The view's tag.

protected int mTop

The distance in pixels from the top edge of this view's parent to the top edge of this view.

protected int mUserPaddingBottom

Cache the paddingBottom set by the user to append to the scrollbar's size.

protected int mUserPaddingRight

Cache the paddingRight set by the user to append to the scrollbar's size.

Public Constructors

public View(Context context)

Simple constructor to use when creating a view from code.

Parameters

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

public View(Context context, AttributeSet attrs)

Constructor that is called when inflating a view from XML. This is called when a view is being constructed from an XML file, supplying attributes that were specified in the XML file. This version uses a default style of 0, so the only attribute values applied are those in the Context's Theme and the given AttributeSet.

The method onFinishInflate() will be called after all children have been added.

Parameters

context The Context the view is running in, through which it can access the current theme, resources, etc.
attrs The attributes of the XML tag that is inflating the view.

public View(Context context, AttributeSet attrs, int defStyle)

Perform inflation from XML and apply a class-specific base style. This constructor of View allows subclasses to use their own base style when they are inflating. For example, a Button class's constructor would call this version of the super class constructor and supply R.attr.buttonStyle for defStyle; this allows the theme's button style to modify all of the base view attributes (in particular its background) as well as the Button class's attributes.

Parameters

context The Context the view is running in, through which it can access the current theme, resources, etc.
attrs The attributes of the XML tag that is inflating the view.
defStyle The default style to apply to this view. If 0, no style will be applied (beyond what is included in the theme). This may either be an attribute resource, whose value will be retrieved from the current theme, or an explicit style resource.

Public Methods

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

Add any focusable views that are descendants of this view (possibly including this view if it is focusable itself) to views. If we are in touch mode, only add views that are also focusable in touch mode.

Parameters

views Focusable views found so far
direction The direction of the focus

public void addTouchables(ArrayList<View> views)

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

Parameters

views Touchable views found so far

public void bringToFront()

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

public void buildDrawingCache()

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

If you call buildDrawingCache() manually without calling setDrawingCacheEnabled(true), you should cleanup the cache by calling destroyDrawingCache() afterwards.

public void cancelLongPress()

Cancels a pending long press. Your subclass can use this if you want the context menu to come up if the user presses and holds at the same place, but you don't want it to come up if they press and then move around enough to cause scrolling.

public void clearAnimation()

Cancels any animations for this view.

public void clearFocus()

Called when this view wants to give up focus. This will cause onFocusChanged(boolean, int, Rect) to be called.

public void computeScroll()

Called by a parent to request that a child update its values for mScrollX and mScrollY if necessary. This will typically be done if the child is animating a scroll using a Scroller object.

public void createContextMenu(ContextMenu menu)

Show the context menu for this view. It is not safe to hold on to the menu after returning from this method.

Parameters

menu The context menu to populate

public void destroyDrawingCache()

Frees the resources used by the drawing cache. If you call buildDrawingCache() manually without calling setDrawingCacheEnabled(true), you should cleanup the cache with this method afterwards.

public boolean dispatchKeyEvent(KeyEvent event)

Dispatch a key event to the next view on the focus path. This path runs from the top of the view tree down to the currently focused view. If this view has focus, it will dispatch to itself. Otherwise it will dispatch the next node down the focus path. This method also fires any key listeners.

Parameters

event The key event to be dispatched.

Returns

  • True if the event was handled, false otherwise.

public boolean dispatchKeyShortcutEvent(KeyEvent event)

Dispatches a key shortcut event.

Parameters

event The key event to be dispatched.

Returns

  • True if the event was handled by the view, false otherwise.

public boolean dispatchTouchEvent(MotionEvent event)

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

Parameters

event The motion event to be dispatched.

Returns

  • True if the event was handled by the view, false otherwise.

public boolean dispatchTrackballEvent(MotionEvent event)

Pass a trackball motion event down to the focused view.

Parameters

event The motion event to be dispatched.

Returns

  • True if the event was handled by the view, false otherwise.

public boolean dispatchUnhandledMove(View focused, int direction)

This method is the last chance for the focused view and its ancestors to respond to an arrow key. This is called when the focused view did not consume the key internally, nor could the view system find a new view in the requested direction to give focus to.

Parameters

focused The currently focused view.
direction The direction focus wants to move. One of FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT, and FOCUS_RIGHT.

Returns

  • True if the this view consumed this unhandled move.

public void dispatchWindowFocusChanged(boolean hasFocus)

Called when the window containing this view gains or loses window focus. ViewGroups should override to route to their children.

Parameters

hasFocus True if the window containing this view now has focus, false otherwise.

public void dispatchWindowVisibilityChanged(int visibility)

Dispatch a window visibility change down the view hierarchy. ViewGroups should override to route to their children.

Parameters

visibility The new visibility of the window.

public void draw(Canvas canvas)

Manually render this view (and all of its children) to the given Canvas. The view must have already done a full layout before this function is called. When implementing a view, do not override this method; instead, you should implement onDraw(Canvas).

Parameters

canvas The Canvas to which the View is rendered.

public View findFocus()

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

Returns

  • The view that currently has focus, or null if no focused view can be found.

public final View findViewById(int id)

Look for a child view with the given id. If this view has the given id, return this view.

Parameters

id The id to search for.

Returns

  • The view that has the given id in the hierarchy or null

public final View findViewWithTag(Object tag)

Look for a child view with the given tag. If this view has the given tag, return this view.

Parameters

tag The tag to search for, using "tag.equals(getTag())".

Returns

  • The View that has the given tag in the hierarchy or null

public View focusSearch(int direction)

Find the nearest view in the specified direction that can take focus. This does not actually give focus to that view.

Parameters

direction One of FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT, and FOCUS_RIGHT

Returns

  • The nearest focusable in the specified direction, or null if none can be found.

public void forceLayout()

Forces this view to be laid out during the next layout pass. This method does not call requestLayout() or forceLayout() on the parent.

public Animation getAnimation()

Get the animation currently associated with this view.

Returns

  • The animation that is currently playing or scheduled to play for this view.

public Drawable getBackground()

Gets the background drawable

Returns

  • The drawable used as the background for this view, if any.

public int getBaseline()

Return the offset of the widget's text baseline from the widget's top boundary. If this widget does not support baseline alignment, this method returns -1.

Returns

  • the offset of the baseline within the widget's bounds or -1 if baseline alignment is not supported

public final int getBottom()

Bottom position of this view relative to its parent.

Returns

  • The bottom of this view, in pixels.

public final Context getContext()

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

Returns

  • The view's Context.

public static int getDefaultSize(int size, int measureSpec)

Utility to return a default size. Uses the supplied size if the MeasureSpec imposed no contraints. Will get larger if allowed by the MeasureSpec.

Parameters

size Default size for this view
measureSpec Constraints imposed by the parent

Returns

  • The size this view should be.

public final int[] getDrawableState()

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

Returns

  • The current drawable state

public Bitmap getDrawingCache()

Returns the bitmap in which this view drawing is cached. The returned bitmap is null when caching is disabled. If caching is enabled and the cache is not ready, this method will create it. Calling draw(android.graphics.Canvas) will not draw from the cache when the cache is enabled. To benefit from the cache, you must request the drawing cache by calling this method and draw it on screen if the returned bitmap is not null.

Returns

  • a bitmap representing this view or null if cache is disabled

public int getDrawingCacheBackgroundColor()

Returns

  • The background color to used for the drawing cache's bitmap

public int getDrawingCacheQuality()

public void getDrawingRect(Rect outRect)

Return the visible drawing bounds of your view. Fills in the output rectangle with the values from getScrollX(), getScrollY(), getWidth(), and getHeight().

Parameters

outRect The (scrolled) drawing bounds of the view.

public long getDrawingTime()

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

Returns

  • the drawing start time in milliseconds

public ArrayList<View> getFocusables(int direction)

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

Parameters

direction The direction of the focus

Returns

  • A list of focusable views

public void getFocusedRect(Rect r)

When a view has focus and the user navigates away from it, the next view is searched for starting from the rectangle filled in by this method. By default, the rectange is the getDrawingRect(Rect))of the view. However, if your view maintains some idea of internal selection, such as a cursor, or a selected row or column, you should override this method and fill in a more specific rectangle.

Parameters

r The rectangle to fill in, in this view's coordinates.

public boolean getGlobalVisibleRect(Rect r, Point globalOffset)

If some part of this view is not clipped by any of its parents, then return that area in r in global (root) coordinates. To convert r to local coordinates, offset it by -globalOffset (e.g. r.offset(-globalOffset.x, -globalOffset.y)) If the view is completely clipped or translated out, return false.

Parameters

r If true is returned, r holds the global coordinates of the visible portion of this view.
globalOffset If true is returned, globalOffset holds the dx,dy between this view and its root. globalOffet may be null.

Returns

  • true if r is non-empty (i.e. part of the view is visible at the root level.

public final boolean getGlobalVisibleRect(Rect r)

public final int getHeight()

Return the height of your view.

Returns

  • The height of your view, in pixels.

public void getHitRect(Rect outRect)

Hit rectangle in parent's coordinates

Parameters

outRect The hit rectangle of the view.

public int getHorizontalFadingEdgeLength()

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

Related XML Attributes

Returns

  • The size in pixels of the horizontal faded edge or 0 if horizontal faded edges are not enabled for this view.

public int getId()

Returns this view's identifier.

Related XML Attributes

Returns

  • a positive integer used to identify the view or NO_ID if the view has no ID

public boolean getKeepScreenOn()

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

Related XML Attributes

Returns

public ViewGroup.LayoutParams getLayoutParams()

Get the LayoutParams associated with this view. All views should have layout parameters. These supply parameters to the parent of this view specifying how it should be arranged. There are many subclasses of ViewGroup.LayoutParams, and these correspond to the different subclasses of ViewGroup that are responsible for arranging their children.

Returns

  • The LayoutParams associated with this view

public final int getLeft()

Left position of this view relative to its parent.

Returns

  • The left edge of this view, in pixels.

public final boolean getLocalVisibleRect(Rect r)

public void getLocationInWindow(int[] location)

Computes the coordinates of this view in its window. The argument must be an array of two integers. After the method returns, the array contains the x and y location in that order.

Parameters

location an array of two integers in which to hold the coordinates

public void getLocationOnScreen(int[] location)

Computes the coordinates of this view on the screen. The argument must be an array of two integers. After the method returns, the array contains the x and y location in that order.

Parameters

location an array of two integers in which to hold the coordinates

public final int getMeasuredHeight()

The height of this view as measured in the most recent call to measure(). This should be used during measurement and layout calculations only. Use getHeight() to see how tall a view is after layout.

Returns

  • The measured height of this view.

public final int getMeasuredWidth()

The width of this view as measured in the most recent call to measure(). This should be used during measurement and layout calculations only. Use getWidth() to see how wide a view is after layout.

Returns

  • The measured width of this view.

public int getNextFocusDownId()

Related XML Attributes

Returns

  • The user specified next focus ID.

public int getNextFocusLeftId()

Related XML Attributes

Returns

  • The user specified next focus ID.

public int getNextFocusRightId()

Related XML Attributes

Returns

  • The user specified next focus ID.

public int getNextFocusUpId()

Related XML Attributes

Returns

  • The user specified next focus ID.

public View.OnFocusChangeListener getOnFocusChangeListener()

Returns the focus-change callback registered for this view.

Returns

  • The callback, or null if one is not registered.

public int getPaddingBottom()

Returns the bottom padding of this view. If there are inset and enabled scrollbars, this value may include the space required to display the scrollbars as well.

Returns

  • the bottom padding in pixels

public int getPaddingLeft()

Returns the left padding of this view. If there are inset and enabled scrollbars, this value may include the space required to display the scrollbars as well.

Returns

  • the left padding in pixels

public int getPaddingRight()

Returns the right padding of this view. If there are inset and enabled scrollbars, this value may include the space required to display the scrollbars as well.

Returns

  • the right padding in pixels

public int getPaddingTop()

Returns the top padding of this view.

Returns

  • the top padding in pixels

public final ViewParent getParent()

Gets the parent of this view. Note that the parent is a ViewParent and not necessarily a View.

Returns

  • Parent of this view.

public Resources getResources()

Returns the resources associated with this view.

Returns

  • Resources object.

public final int getRight()

Right position of this view relative to its parent.

Returns

  • The right edge of this view, in pixels.

public View getRootView()

Finds the topmost view in the current view hierarchy.

Returns

  • the topmost view containing this view

public int getScrollBarStyle()

Returns the current scrollbar style.

Returns

  • the current scrollbar style

public final int getScrollX()

Return the scrolled left position of this view. This is the left edge of the displayed part of your view. You do not need to draw any pixels farther left, since those are outside of the frame of your view on screen.

Returns

  • The left edge of the displayed part of your view, in pixels.

public final int getScrollY()

Return the scrolled top position of this view. This is the top edge of the displayed part of your view. You do not need to draw any pixels above it, since those are outside of the frame of your view on screen.

Returns

  • The top edge of the displayed part of your view, in pixels.

public int getSolidColor()

Override this if your view is known to always be drawn on top of a solid color background, and needs to draw fading edges. Returning a non-zero color enables the view system to optimize the drawing of the fading edges. If you do return a non-zero color, the alpha should be set to 0xFF.

Returns

  • The known solid color background for this view, or 0 if the color may vary

public Object getTag()

Returns this view's tag.

Returns

  • the Object stored in this view as a tag

public final int getTop()

Top position of this view relative to its parent.

Returns

  • The top of this view, in pixels.

public TouchDelegate getTouchDelegate()

Gets the TouchDelegate for this View.

public ArrayList<View> getTouchables()

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

Returns

  • A list of touchable views

public int getVerticalFadingEdgeLength()

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

Related XML Attributes

Returns

  • The size in pixels of the vertical faded edge or 0 if vertical faded edges are not enabled for this view.

public int getVerticalScrollbarWidth()

Returns the width of the vertical scrollbar.

Returns

  • The width in pixels of the vertical scrollbar or 0 if there is no vertical scrollbar.

public ViewTreeObserver getViewTreeObserver()

Returns the ViewTreeObserver for this view's hierarchy. The view tree observer can be used to get notifications when global events, like layout, happen. The returned ViewTreeObserver observer is not guaranteed to remain valid for the lifetime of this View. If the caller of this method keeps a long-lived reference to ViewTreeObserver, it should always check for the return value of isAlive().

Returns

  • The ViewTreeObserver for this view's hierarchy.

public int getVisibility()

Returns the visibility status for this view.

Related XML Attributes

Returns

public final int getWidth()

Return the width of the your view.

Returns

  • The width of your view, in pixels.

public IBinder getWindowToken()

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

Returns

  • the window token

public int getWindowVisibility()

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

Returns

  • Returns the current visibility of the view's window.

public boolean hasFocus()

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

Returns

  • True if this view has or contains focus, false otherwise.

public boolean hasFocusable()

Returns true if this view is focusable or if it contains a reachable View for which hasFocusable() returns true. A "reachable hasFocusable()" is a View whose parents do not block descendants focus. Only VISIBLE views are considered focusable.

Returns

  • True if the view is focusable or if the view contains a focusable View, false otherwise.

public boolean hasWindowFocus()

Returns true if this view is in a window that currently has window focus. Note that this is not the same as the view itself having focus.

Returns

  • True if this view is in a window that currently has window focus.

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

Inflate a view from an XML resource. This convenience method wraps the LayoutInflater class, which provides a full range of options for view inflation.

Parameters

context The Context object for your activity or application.
resource The resource ID to inflate
root A view group that will be the parent. Used to properly inflate the layout_* parameters.

See Also

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

Mark the the area defined by the rect (l,t,r,b) as needing to be drawn. The coordinates of the dirty rect are relative to the view. If the view is visible, onDraw(Canvas) will be called at some point in the future. This must be called from a UI thread. To call from a non-UI thread, call postInvalidate().

Parameters

l the left position of the dirty region
t the top position of the dirty region
r the right position of the dirty region
b the bottom position of the dirty region

public void invalidate()

Invalidate the whole view. If the view is visible, onDraw(Canvas) will be called at some point in the future. This must be called from a UI thread. To call from a non-UI thread, call postInvalidate().

public void invalidate(Rect dirty)

Mark the the area defined by dirty as needing to be drawn. If the view is visible, onDraw(Canvas) will be called at some point in the future. This must be called from a UI thread. To call from a non-UI thread, call postInvalidate(). WARNING: This method is destructive to dirty.

Parameters

dirty the rectangle representing the bounds of the dirty region

public void invalidateDrawable(Drawable drawable)

Invalidates the specified Drawable.

Parameters

drawable the drawable to invalidate

public boolean isClickable()

Indicates whether this view reacts to click events or not.

Related XML Attributes

Returns

  • true if the view is clickable, false otherwise

public boolean isDrawingCacheEnabled()

Indicates whether the drawing cache is enabled for this view.

Returns

  • true if the drawing cache is enabled

public boolean isDuplicateParentStateEnabled()

Indicates whether this duplicates its drawable state from its parent.

Returns

  • True if this view's drawable state is duplicated from the parent, false otherwise

public boolean isEnabled()

Returns the enabled status for this view. The interpretation of the enabled state varies by subclass.

Returns

  • True if this view is enabled, false otherwise.

public final boolean isFocusable()

Returns whether this View is able to take focus.

Related XML Attributes

Returns

  • True if this view can take focus, or false otherwise.

public final boolean isFocusableInTouchMode()

When a view is focusable, it may not want to take focus when in touch mode. For example, a button would like focus when the user is navigating via a D-pad so that the user can click on it, but once the user starts touching the screen, the button shouldn't take focus

Related XML Attributes

Returns

  • Whether the view is focusable in touch mode.

public boolean isFocused()

Returns true if this view has focus

Returns

  • True if this view has focus, false otherwise.

public boolean isHorizontalFadingEdgeEnabled()

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

Related XML Attributes

Returns

  • true if the horizontal edges should are faded on scroll, false otherwise

public boolean isHorizontalScrollBarEnabled()

Indicate whether the horizontal scrollbar should be drawn or not. The scrollbar is not drawn by default.

Returns

  • true if the horizontal scrollbar should be painted, false otherwise

public boolean isInTouchMode()

Returns whether the device is currently in touch mode. Touch mode is entered once the user begins interacting with the device by touch, and affects various things like whether focus is always visible to the user.

Returns

  • Whether the device is in touch mode.

public boolean isLayoutRequested()

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

Returns

  • true if the layout will be forced during next layout pass

public boolean isLongClickable()

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

Related XML Attributes

Returns

  • true if the view is long clickable, false otherwise

public boolean isPressed()

Indicates whether the view is currently in pressed state. Unless setPressed(boolean) is explicitly called, only clickable views can enter the pressed state.

Returns

  • true if the view is currently pressed, false otherwise

public boolean isSaveEnabled()

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

Related XML Attributes

Returns

  • Returns true if the view state saving is enabled, else false.

public boolean isSelected()

Indicates the selection state of this view.

Returns

  • true if the view is selected, false otherwise

public boolean isShown()

Returns the visibility of this view and all of its ancestors

Returns

  • True if this view and all of its ancestors are VISIBLE

public boolean isVerticalFadingEdgeEnabled()

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

Related XML Attributes

Returns

  • true if the vertical edges should are faded on scroll, false otherwise

public boolean isVerticalScrollBarEnabled()

Indicate whether the vertical scrollbar should be drawn or not. The scrollbar is not drawn by default.

Returns

  • true if the vertical scrollbar should be painted, false otherwise

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

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

This is the second phase of the layout mechanism. (The first is measuring). In this phase, each parent calls layout on all of its children to position them. This is typically done using the child measurements that were stored in the measure pass(). Derived classes with children should override onLayout. In that method, they should call layout on each of their their children.

Parameters

l Left position, relative to parent
t Top position, relative to parent
r Right position, relative to parent
b Bottom position, relative to parent

public final void measure(int widthMeasureSpec, int heightMeasureSpec)

This is called to find out how big a view should be. The parent supplies constraint information in the width and height parameters.

The actual mesurement work of a view is performed in onMeasure(int, int), called by this method. Therefore, only onMeasure(int, int) can and must be overriden by subclasses.

Parameters

widthMeasureSpec Horizontal space requirements as imposed by the parent
heightMeasureSpec Vertical space requirements as imposed by the parent

public boolean onKeyDown(int keyCode, KeyEvent event)

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

Parameters

keyCode A key code that represents the button pressed, from KeyEvent.
event The KeyEvent object that defines the button action.

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

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

Parameters

keyCode A key code that represents the button pressed, from KeyEvent.
repeatCount The number of times the action was made.
event The KeyEvent object that defines the button action.

public boolean onKeyShortcut(int keyCode, KeyEvent event)

Called when an unhandled key shortcut event occurs.

Parameters

keyCode The value in event.getKeyCode().
event Description of the key event.

Returns

  • If you handled the event, return true. If you want to allow the event to be handled by the next receiver, return false.

public boolean onKeyUp(int keyCode, KeyEvent event)

Default implementation of KeyEvent.Callback.onKeyMultiple(): perform clicking of the view when KEYCODE_DPAD_CENTER or KEYCODE_ENTER is released.

Parameters

keyCode A key code that represents the button pressed, from KeyEvent.
event The KeyEvent object that defines the button action.

public boolean onTouchEvent(MotionEvent event)

Implement this method to handle touch screen motion events.

Parameters

event The motion event.

Returns

  • True if the event was handled, false otherwise.

public boolean onTrackballEvent(MotionEvent event)

Implement this method to handle trackball motion events. The relative movement of the trackball since the last event can be retrieve with MotionEvent.getX() and MotionEvent.getY(). These are normalized so that a movement of 1 corresponds to the user pressing one DPAD key (so they will often be fractional values, representing the more fine-grained movement information available from a trackball).

Parameters

event The motion event.

Returns

  • True if the event was handled, false otherwise.

public void onWindowFocusChanged(boolean hasWindowFocus)

Called when the window containing this view gains or loses focus. Note that this is separate from view focus: to receive key events, both your view and its window must have focus. If a window is displayed on top of yours that takes input focus, then your own window will lose focus but the view focus will remain unchanged.

Parameters

hasWindowFocus True if the window containing this view now has focus, false otherwise.

public boolean performClick()

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

Returns

  • True there was an assigned OnClickListener that was called, false otherwise is returned.

public boolean performLongClick()

Call this view's OnLongClickListener, if it is defined. Invokes the context menu if the OnLongClickListener did not consume the event.

Returns

  • True there was an assigned OnLongClickListener that was called, false otherwise is returned.

public boolean post(Runnable action)

Causes the Runnable to be added to the message queue. The runnable will be run on the user interface thread.

Parameters

action The Runnable that will be executed.

Returns

  • Returns true if the Runnable was successfully placed in to the message queue. Returns false on failure, usually because the looper processing the message queue is exiting.

public boolean postDelayed(Runnable action, long delayMillis)

Causes the Runnable to be added to the message queue, to be run after the specified amount of time elapses. The runnable will be run on the user interface thread.

Parameters

action The Runnable that will be executed.
delayMillis The delay (in milliseconds) until the Runnable will be executed.

Returns

  • true if the Runnable was successfully placed in to the message queue. Returns false on failure, usually because the looper processing the message queue is exiting. Note that a result of true does not mean the Runnable will be processed -- if the looper is quit before the delivery time of the message occurs then the message will be dropped.

public void postInvalidate()

Cause an invalidate to happen on a subsequent cycle through the event loop. Use this to invalidate the View from a non-UI thread.

See Also

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

Cause an invalidate of the specified area to happen on a subsequent cycle through the event loop. Use this to invalidate the View from a non-UI thread.

Parameters

left The left coordinate of the rectangle to invalidate.
top The top coordinate of the rectangle to invalidate.
right The right coordinate of the rectangle to invalidate.
bottom The bottom coordinate of the rectangle to invalidate.

public void postInvalidateDelayed(long delayMilliseconds)

Cause an invalidate to happen on a subsequent cycle through the event loop. Waits for the specified amount of time.

Parameters

delayMilliseconds the duration in milliseconds to delay the invalidation by

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

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

Parameters

delayMilliseconds the duration in milliseconds to delay the invalidation by
left The left coordinate of the rectangle to invalidate.
top The top coordinate of the rectangle to invalidate.
right The right coordinate of the rectangle to invalidate.
bottom The bottom coordinate of the rectangle to invalidate.

public void refreshDrawableState()

Call this to force a view to update its drawable state. This will cause drawableStateChanged to be called on this view. Views that are interested in the new state should call getDrawableState.

public boolean removeCallbacks(Runnable action)

Removes the specified Runnable from the message queue.

Parameters

action The Runnable to remove from the message handling queue

Returns

  • true if this view could ask the Handler to remove the Runnable, false otherwise. When the returned value is true, the Runnable may or may not have been actually removed from the message queue (for instance, if the Runnable was not in the queue already.)

public final boolean requestFocus()

Call this to try to give focus to a specific view or to one of its descendants. A view will not actually take focus if it is not focusable (isFocusable() returns false), or if it is focusable and it is not focusable in touch mode (isFocusableInTouchMode()) while the device is in touch mode. See also focusSearch(int), which is what you call to say that you have focus, and you want your parent to look for the next one. This is equivalent to calling requestFocus(int, Rect) with arguments FOCUS_DOWN and null.

Returns

  • Whether this view or one of its descendants actually took focus.

public boolean requestFocus(int direction, Rect previouslyFocusedRect)

Call this to try to give focus to a specific view or to one of its descendants and give it hints about the direction and a specific rectangle that the focus is coming from. The rectangle can help give larger views a finer grained hint about where focus is coming from, and therefore, where to show selection, or forward focus change internally. A view will not actually take focus if it is not focusable (isFocusable() returns false), or if it is focusable and it is not focusable in touch mode (isFocusableInTouchMode()) while the device is in touch mode. A View will not take focus if it is not visible. A View will not take focus if one of its parents has getDescendantFocusability() equal to FOCUS_BLOCK_DESCENDANTS. See also focusSearch(int), which is what you call to say that you have focus, and you want your parent to look for the next one. You may wish to override this method if your custom View has an internal View that it wishes to forward the request to.

Parameters

direction One of FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT, and FOCUS_RIGHT
previouslyFocusedRect The rectangle (in this View's coordinate system) to give a finer grained hint about where focus is coming from. May be null if there is no hint.

Returns

  • Whether this view or one of its descendants actually took focus.

public final boolean requestFocus(int direction)

Call this to try to give focus to a specific view or to one of its descendants and give it a hint about what direction focus is heading. A view will not actually take focus if it is not focusable (isFocusable() returns false), or if it is focusable and it is not focusable in touch mode (isFocusableInTouchMode()) while the device is in touch mode. See also focusSearch(int), which is what you call to say that you have focus, and you want your parent to look for the next one. This is equivalent to calling requestFocus(int, Rect) with null set for the previously focused rectangle.

Parameters

direction One of FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT, and FOCUS_RIGHT

Returns

  • Whether this view or one of its descendants actually took focus.

public final boolean requestFocusFromTouch()

Call this to try to give focus to a specific view or to one of its descendants. This is a special variant of requestFocus() that will allow views that are not focuable in touch mode to request focus when they are touched.

Returns

  • Whether this view or one of its descendants actually took focus.

See Also

public void requestLayout()

Call this when something has changed which has invalidated the layout of this view. This will schedule a layout pass of the view tree.

public boolean requestRectangleOnScreen(Rect rectangle, boolean immediate)

Request that a rectangle of this view be visible on the screen, scrolling if necessary just enough. A View should call this if it maintains some notion of which part of its content is interesting. For example, a text editing view should call this when its cursor moves. When immediate is set to true, scrolling will not be animated.

Parameters

rectangle The rectangle.
immediate True to forbid animated scrolling, false otherwise

Returns

  • Whether any parent scrolled.

public boolean requestRectangleOnScreen(Rect rectangle)

Request that a rectangle of this view be visible on the screen, scrolling if necessary just enough. A View should call this if it maintains some notion of which part of its content is interesting. For example, a text editing view should call this when its cursor moves.

Parameters

rectangle The rectangle.

Returns

  • Whether any parent scrolled.

public static int resolveSize(int size, int measureSpec)

Utility to reconcile a desired size with constraints imposed by a MeasureSpec. Will take the desired size, unless a different size is imposed by the constraints.

Parameters

size How big the view wants to be
measureSpec Constraints imposed by the parent

Returns

  • The size this view should be.

public void restoreHierarchyState(SparseArray<Parcelable> container)

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

Parameters

container The SparseArray which holds previously frozen states.

public void saveHierarchyState(SparseArray<Parcelable> container)

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

Parameters

container The SparseArray in which to save the view's state.

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

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

Parameters

who the recipient of the action
what the action to run on the drawable
when the time at which the action must occur. Uses the uptimeMillis() timebase.

public void scrollBy(int x, int y)

Move the scrolled position of your view. This will cause a call to onScrollChanged(int, int, int, int) and the view will be invalidated.

Parameters

x the amount of pixels to scroll by horizontally
y the amount of pixels to scroll by vertically

public void scrollTo(int x, int y)

Set the scrolled position of your view. This will cause a call to onScrollChanged(int, int, int, int) and the view will be invalidated.

Parameters

x the x position to scroll to
y the y position to scroll to

public void setAnimation(Animation animation)

Sets the next animation to play for this view. If you want the animation to play immediately, use startAnimation. This method provides allows fine-grained control over the start time and invalidation, but you must make sure that 1) the animation has a start time set, and 2) the view will be invalidated when the animation is supposed to start.

Parameters

animation The next animation, or null.

public void setBackgroundColor(int color)

Sets the background color for this view.

Parameters

color the color of the background

public void setBackgroundDrawable(Drawable d)

Set the background to a given Drawable, or remove the background. If the background has padding, this View's padding is set to the background's padding. However, when a background is removed, this View's padding isn't touched. If setting the padding is desired, please use setPadding(int, int, int, int).

Parameters

d The Drawable to use as the background, or null to remove the background

public void setBackgroundResource(int resid)

Set the background to a given resource. The resource should refer to a Drawable object.

Related XML Attributes

Parameters

resid The identifier of the resource.

public void setClickable(boolean clickable)

Enables or disables click events for this view. When a view is clickable it will change its state to "pressed" on every click. Subclasses should set the view clickable to visually react to user's clicks.

Related XML Attributes

Parameters

clickable true to make the view clickable, false otherwise

See Also

public void setDrawingCacheBackgroundColor(int color)

Setting a solid background color for the drawing cache's bitmaps will improve perfromance and memory usage. Note, though that this should only be used if this view will always be drawn on top of a solid color.

Parameters

color The background color to use for the drawing cache's bitmap

public void setDrawingCacheEnabled(boolean enabled)

Enables or disables the drawing cache. When the drawing cache is enabled, the next call to getDrawingCache() or buildDrawingCache() will draw the view in a bitmap. Calling draw(android.graphics.Canvas) will not draw from the cache when the cache is enabled. To benefit from the cache, you must request the drawing cache by calling getDrawingCache() and draw it on screen if the returned bitmap is not null.

Parameters

enabled true to enable the drawing cache, false otherwise

public void setDrawingCacheQuality(int quality)

Set the drawing cache quality of this view. This value is used only when the drawing cache is enabled

Related XML Attributes

public void setDuplicateParentStateEnabled(boolean enabled)

Enables or disables the duplication of the parent's state into this view. When duplication is enabled, this view gets its drawable state from its parent rather than from its own internal properties.

Note: in the current implementation, setting this property to true after the view was added to a ViewGroup might have no effect at all. This property should always be used from XML or set to true before adding this view to a ViewGroup.

Note: if this view's parent addStateFromChildren property is enabled and this property is enabled, an exception will be thrown.

Parameters

enabled True to enable duplication of the parent's drawable state, false to disable it.

public void setEnabled(boolean enabled)

Set the enabled state of this view. The interpretation of the enabled state varies by subclass.

Parameters

enabled True if this view is enabled, false otherwise.

public void setFadingEdgeLength(int length)

Set the size of the faded edge used to indicate that more content in this view is available. Will not change whether the fading edge is enabled; use setVerticalFadingEdgeEnabled(boolean) or setHorizontalFadingEdgeEnabled(boolean) to enable the fading edge for the vertical or horizontal fading edges.

Parameters

length The size in pixels of the faded edge used to indicate that more content in this view is visible.

public void setFocusable(boolean focusable)

Set whether this view can receive the focus. Setting this to false will also ensure that this view is not focusable in touch mode.

Related XML Attributes

Parameters

focusable If true, this view can receive the focus.

public void setFocusableInTouchMode(boolean focusableInTouchMode)

Set whether this view can receive focus while in touch mode. Setting this to true will also ensure that this view is focusable.

Related XML Attributes

Parameters

focusableInTouchMode If true, this view can receive the focus while in touch mode.

public void setHorizontalFadingEdgeEnabled(boolean horizontalFadingEdgeEnabled)

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

Related XML Attributes

Parameters

horizontalFadingEdgeEnabled true if the horizontal edges should be faded when the view is scrolled horizontally

public void setHorizontalScrollBarEnabled(boolean horizontalScrollBarEnabled)

Define whether the horizontal scrollbar should be drawn or not. The scrollbar is not drawn by default.

Parameters

horizontalScrollBarEnabled true if the horizontal scrollbar should be painted

public void setId(int id)

Sets the identifier for this view. The identifier does not have to be unique in this view's hierarchy. The identifier should be a positive number.

Related XML Attributes

Parameters

id a number used to identify the view

public void setKeepScreenOn(boolean keepScreenOn)

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

Related XML Attributes

Parameters

keepScreenOn Supply true to set KEEP_SCREEN_ON.

public void setLayoutParams(ViewGroup.LayoutParams params)

Set the layout parameters associated with this view. These supply parameters to the parent of this view specifying how it should be arranged. There are many subclasses of ViewGroup.LayoutParams, and these correspond to the different subclasses of ViewGroup that are responsible for arranging their children.

Parameters

params the layout parameters for this view

public void setLongClickable(boolean longClickable)

Enables or disables long click events for this view. When a view is long clickable it reacts to the user holding down the button for a longer duration than a tap. This event can either launch the listener or a context menu.

Related XML Attributes

Parameters

longClickable true to make the view long clickable, false otherwise

public void setMinimumHeight(int minHeight)

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

Parameters

minHeight The minimum height the view will try to be.

public void setMinimumWidth(int minWidth)

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

Parameters

minWidth The minimum width the view will try to be.

public void setNextFocusDownId(int nextFocusDownId)

Set the id of the view to use for the next focus

Related XML Attributes

public void setNextFocusLeftId(int nextFocusLeftId)

Set the id of the view to use for the next focus

Related XML Attributes

public void setNextFocusRightId(int nextFocusRightId)

Set the id of the view to use for the next focus

Related XML Attributes

public void setNextFocusUpId(int nextFocusUpId)

Set the id of the view to use for the next focus

Related XML Attributes

public void setOnClickListener(View.OnClickListener l)

Register a callback to be invoked when this view is clicked. If this view is not clickable, it becomes clickable.

Parameters

l The callback that will run

public void setOnCreateContextMenuListener(View.OnCreateContextMenuListener l)

Register a callback to be invoked when the context menu for this view is being built. If this view is not long clickable, it becomes long clickable.

Parameters

l The callback that will run

public void setOnFocusChangeListener(View.OnFocusChangeListener l)

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

Parameters

l The callback that will run.

public void setOnKeyListener(View.OnKeyListener l)

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

Parameters

l the key listener to attach to this view

public void setOnLongClickListener(View.OnLongClickListener l)

Register a callback to be invoked when this view is clicked and held. If this view is not long clickable, it becomes long clickable.

Parameters

l The callback that will run

public void setOnTouchListener(View.OnTouchListener l)

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

Parameters

l the touch listener to attach to this view

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

Sets the padding. The view may add on the space required to display the scrollbars, depending on the style and visibility of the scrollbars. So the values returned from getPaddingLeft(), getPaddingTop(), getPaddingRight() and getPaddingBottom() may be different from the values set in this call.

Parameters

left the left padding in pixels
top the top padding in pixels
right the right padding in pixels
bottom the bottom padding in pixels

public void setPressed(boolean pressed)

Sets the pressed that for this view.

Parameters

pressed Pass true to set the View's internal state to "pressed", or false to reverts the View's internal state from a previously set "pressed" state.

public void setSaveEnabled(boolean enabled)

Controls whether the saving of this view's state is enabled (that is, whether its onSaveInstanceState() method will be called). Note that even if freezing is enabled, the view still must have an id assigned to it (via setId()) for its state to be saved. This flag can only disable the saving of this view; any child views may still have their state saved.

Related XML Attributes

Parameters

enabled Set to false to disable state saving, or true (the default) to allow it.

public void setScrollBarStyle(int style)

Specify the style of the scrollbars. The scrollbars can be overlaid or inset. When inset, they add to the padding of the view. And the scrollbars can be drawn inside the padding area or on the edge of the view. For example, if a view has a background drawable and you want to draw the scrollbars inside the padding specified by the drawable, you can use SCROLLBARS_INSIDE_OVERLAY or SCROLLBARS_INSIDE_INSET. If you want them to appear at the edge of the view, ignoring the padding, then you can use SCROLLBARS_OUTSIDE_OVERLAY or SCROLLBARS_OUTSIDE_INSET.

Parameters

style the style of the scrollbars. Should be one of SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_INSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY or SCROLLBARS_OUTSIDE_INSET.

public void setSelected(boolean selected)

Changes the selection state of this view. A view can be selected or not. Note that selection is not the same as focus. Views are typically selected in the context of an AdapterView like ListView or GridView; the selected view is the view that is highlighted.

Parameters

selected true if the view must be selected, false otherwise

public void setTag(Object tag)

Sets the tag associated with this view. A tag can be used to mark a view in its hierarchy and does not have to be unique within the hierarchy. Tags can also be used to store data within a view without resorting to another data structure.

Parameters

tag an Object to tag the view with

public void setTouchDelegate(TouchDelegate delegate)

Sets the TouchDelegate for this View.

public void setVerticalFadingEdgeEnabled(boolean verticalFadingEdgeEnabled)

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

Related XML Attributes

Parameters

verticalFadingEdgeEnabled true if the vertical edges should be faded when the view is scrolled vertically

public void setVerticalScrollBarEnabled(boolean verticalScrollBarEnabled)

Define whether the vertical scrollbar should be drawn or not. The scrollbar is not drawn by default.

Parameters

verticalScrollBarEnabled true if the vertical scrollbar should be painted

public void setVisibility(int visibility)

Set the enabled state of this view.

Related XML Attributes

Parameters

visibility One of VISIBLE, INVISIBLE, or GONE.

public void setWillNotCacheDrawing(boolean willNotCacheDrawing)

When a View's drawing cache is enabled, drawing is redirected to an offscreen bitmap. Some views, like an ImageView, must be able to bypass this mechanism if they already draw a single bitmap, to avoid unnecessary usage of the memory.

Parameters

willNotCacheDrawing true if this view does not cache its drawing, false otherwise

public void setWillNotDraw(boolean willNotDraw)

If this view doesn't do any drawing on its own, set this flag to allow further optimizations. By default, this flag is not set on View, but could be set on some View subclasses such as ViewGroup. Typically, if you override onDraw(Canvas) you should clear this flag.

Parameters

willNotDraw whether or not this View draw on its own

public boolean showContextMenu()

Bring up the context menu for this view.

Returns

  • Whether a context menu was displayed.

public void startAnimation(Animation animation)

Start the specified animation now.

Parameters

animation the animation to start now

public void unscheduleDrawable(Drawable who, Runnable what)

Cancels a scheduled action on a drawable.

Parameters

who the recipient of the action
what the action to cancel

public void unscheduleDrawable(Drawable who)

Unschedule any events associated with the given Drawable. This can be used when selecting a new Drawable into a view, so that the previous one is completely unscheduled.

Parameters

who The Drawable to unschedule.

public boolean willNotCacheDrawing()

Returns whether or not this View can cache its drawing or not.

Returns

  • true if this view does not cache its drawing, false otherwise

public boolean willNotDraw()

Returns whether or not this View draws on its own.

Returns

  • true if this view has nothing to draw, false otherwise

Protected Methods

protected int computeHorizontalScrollExtent()

Compute the horizontal extent of the horizontal scrollbar's thumb within the horizontal range. This value is used to compute the length of the thumb within the scrollbar's track.

The range is expressed in arbitrary units that must be the same as the units used by computeHorizontalScrollRange() and computeHorizontalScrollOffset().

The default extent is the drawing width of this view.

Returns

  • the horizontal extent of the scrollbar's thumb

protected int computeHorizontalScrollOffset()

Compute the horizontal offset of the horizontal scrollbar's thumb within the horizontal range. This value is used to compute the position of the thumb within the scrollbar's track.

The range is expressed in arbitrary units that must be the same as the units used by computeHorizontalScrollRange() and computeHorizontalScrollExtent().

The default offset is the scroll offset of this view.

Returns

  • the horizontal offset of the scrollbar's thumb

protected int computeHorizontalScrollRange()

Compute the horizontal range that the horizontal scrollbar represents.

The range is expressed in arbitrary units that must be the same as the units used by computeHorizontalScrollExtent() and computeHorizontalScrollOffset().

The default range is the drawing width of this view.

Returns

  • the total horizontal range represented by the horizontal scrollbar

protected int computeVerticalScrollExtent()

Compute the vertical extent of the horizontal scrollbar's thumb within the vertical range. This value is used to compute the length of the thumb within the scrollbar's track.

The range is expressed in arbitrary units that must be the same as the units used by computeHorizontalScrollRange() and computeVerticalScrollOffset().

The default extent is the drawing height of this view.

Returns

  • the vertical extent of the scrollbar's thumb

protected int computeVerticalScrollOffset()

Compute the vertical offset of the vertical scrollbar's thumb within the horizontal range. This value is used to compute the position of the thumb within the scrollbar's track.

The range is expressed in arbitrary units that must be the same as the units used by computeVerticalScrollRange() and computeVerticalScrollExtent().

The default offset is the scroll offset of this view.

Returns

  • the vertical offset of the scrollbar's thumb

protected int computeVerticalScrollRange()

Compute the vertical range that the vertical scrollbar represents.

The range is expressed in arbitrary units that must be the same as the units used by computeVerticalScrollExtent() and computeVerticalScrollOffset().

Returns

  • the total vertical range represented by the vertical scrollbar

    The default range is the drawing height of this view.

protected void dispatchDraw(Canvas canvas)

Called by draw to draw the child views. This may be overridden by derived classes to gain control just before its children are drawn (but after its own view has been drawn).

Parameters

canvas the canvas on which to draw the view

protected void dispatchRestoreInstanceState(SparseArray<Parcelable> container)

Called by restoreHierarchyState(SparseArray) to retrieve the state for this view and its children. May be overridden to modify how restoreing happens to a view's children; for example, some views may want to not store state for their children.

Parameters

container The SparseArray which holds previously saved state.

protected void dispatchSaveInstanceState(SparseArray<Parcelable> container)

Called by saveHierarchyState(SparseArray) to store the state for this view and its children. May be overridden to modify how freezing happens to a view's children; for example, some views may want to not store state for their children.

Parameters

container The SparseArray in which to save the view's state.

protected void dispatchSetPressed(boolean pressed)

Dispatch setPressed to all of this View's children.

Parameters

pressed The new pressed state

protected void dispatchSetSelected(boolean selected)

Dispatch setSelected to all of this View's children.

Parameters

selected The new selected state

protected void drawableStateChanged()

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

Be sure to call through to the superclass when overriding this function.

See Also

protected void finalize()

Called by the virtual machine when there are no longer any (non-weak) references to the receiver. Subclasses can use this facility to guarantee that any associated resources are cleaned up before the receiver is garbage collected. Uncaught exceptions which are thrown during the running of the method cause it to terminate immediately, but are otherwise ignored.

Note: The virtual machine assumes that the implementation in class Object is empty.

Throws

Throwable

protected boolean fitSystemWindows(Rect insets)

Apply the insets for system windows to this view, if the FITS_SYSTEM_WINDOWS flag is set

Parameters

insets Insets for system windows

Returns

  • True if this view applied the insets, false otherwise

protected float getBottomFadingEdgeStrength()

Returns the strength, or intensity, of the bottom faded edge. The strength is a value between 0.0 (no fade) and 1.0 (full fade). The default implementation returns 0.0 or 1.0 but no value in between. Subclasses should override this method to provide a smoother fade transition when scrolling occurs.

Returns

  • the intensity of the bottom fade as a float between 0.0f and 1.0f

protected ContextMenu.ContextMenuInfo getContextMenuInfo()

Views should implement this if they have extra information to associate with the context menu. The return result is supplied as a parameter to the onCreateContextMenu(ContextMenu, View, ContextMenuInfo) callback.

Returns

  • Extra information about the item for which the context menu should be shown. This information will vary across different subclasses of View.

protected Handler getHandler()

Returns

  • A handler associated with the thread running the View. This handler can be used to pump events in the UI events queue.

protected int getHorizontalScrollbarHeight()

Returns the height of the horizontal scrollbar.

Returns

  • The height in pixels of the horizontal scrollbar or 0 if there is no horizontal scrollbar.

protected float getLeftFadingEdgeStrength()

Returns the strength, or intensity, of the left faded edge. The strength is a value between 0.0 (no fade) and 1.0 (full fade). The default implementation returns 0.0 or 1.0 but no value in between. Subclasses should override this method to provide a smoother fade transition when scrolling occurs.

Returns

  • the intensity of the left fade as a float between 0.0f and 1.0f

protected float getRightFadingEdgeStrength()

Returns the strength, or intensity, of the right faded edge. The strength is a value between 0.0 (no fade) and 1.0 (full fade). The default implementation returns 0.0 or 1.0 but no value in between. Subclasses should override this method to provide a smoother fade transition when scrolling occurs.

Returns

  • the intensity of the right fade as a float between 0.0f and 1.0f

protected int getSuggestedMinimumHeight()

Returns the suggested minimum height that the view should use. This returns the maximum of the view's minimum height and the background's minimum height (getMinimumHeight()).

When being used in onMeasure(int, int), the caller should still ensure the returned height is within the requirements of the parent.

Returns

  • The suggested minimum height of the view.

protected int getSuggestedMinimumWidth()

Returns the suggested minimum width that the view should use. This returns the maximum of the view's minimum width) and the background's minimum width (getMinimumWidth()).

When being used in onMeasure(int, int), the caller should still ensure the returned width is within the requirements of the parent.

Returns

  • The suggested minimum width of the view.

protected float getTopFadingEdgeStrength()

Returns the strength, or intensity, of the top faded edge. The strength is a value between 0.0 (no fade) and 1.0 (full fade). The default implementation returns 0.0 or 1.0 but no value in between. Subclasses should override this method to provide a smoother fade transition when scrolling occurs.

Returns

  • the intensity of the top fade as a float between 0.0f and 1.0f

protected int getWindowAttachCount()

Returns

  • The number of times this view has been attached to a window

protected void initializeFadingEdge(TypedArray a)

Initializes the fading edges from a given set of styled attributes. This method should be called by subclasses that need fading edges and when an instance of these subclasses is created programmatically rather than being inflated from XML. This method is automatically called when the XML is inflated.

Parameters

a the styled attributes set to initialize the fading edges from

protected void initializeScrollbars(TypedArray a)

Initializes the scrollbars from a given set of styled attributes. This method should be called by subclasses that need scrollbars and when an instance of these subclasses is created programmatically rather than being inflated from XML. This method is automatically called when the XML is inflated.

Parameters

a the styled attributes set to initialize the scrollbars from

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

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

Parameters

baseState The base state values returned by onCreateDrawableState(int), which will be modified to also hold your own additional state values.
additionalState The additional state values you would like added to baseState; this array is not modified.

Returns

  • As a convenience, the baseState array you originally passed into the function is returned.

protected void onAnimationEnd()

Invoked by a parent ViewGroup to notify the end of the animation currently associated with this view. If you override this method, always call super.onAnimationEnd();

protected void onAnimationStart()

Invoked by a parent ViewGroup to notify the start of the animation currently associated with this view. If you override this method, always call super.onAnimationStart();

protected void onAttachedToWindow()

This is called when the view is attached to a window. At this point it has a Surface and will start drawing. Note that this function is guaranteed to be called before onDraw(Canvas), however it may be called any time before the first onDraw -- including before or after onMeasure(int, int).

protected void onCreateContextMenu(ContextMenu menu)

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

Parameters

menu the context menu to populate

protected int[] onCreateDrawableState(int extraSpace)

Generate the new Drawable state for this view. This is called by the view system when the cached Drawable state is determined to be invalid. To retrieve the current state, you should use getDrawableState().

Parameters

extraSpace if non-zero, this is the number of extra entries you would like in the returned array in which you can place your own states.

Returns

  • Returns an array holding the current Drawable state of the view.

protected void onDetachedFromWindow()

This is called when the view is detached from a window. At this point it no longer has a surface for drawing.

protected void onDraw(Canvas canvas)

Implement this to do your drawing.

Parameters

canvas the canvas on which the background will be drawn

protected void onFinishInflate()

Finalize inflating a view from XML. This is called as the last phase of inflation, after all child views have been added.

Even if the subclass overrides onFinishInflate, they should always be sure to call the super method, so that we get called.

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

Called by the view system when the focus state of this view changes. When the focus change event is caused by directional navigation, direction and previouslyFocusedRect provide insight into where the focus is coming from.

Parameters

gainFocus True if the View has focus; false otherwise.
direction The direction focus has moved when requestFocus() is called to give this view focus. Values are View.FOCUS_UP, View.FOCUS_DOWN, View.FOCUS_LEFT or View.FOCUS_RIGHT. It may not always apply, in which case use the default.
previouslyFocusedRect The rectangle, in this view's coordinate system, of the previously focused view. If applicable, this will be passed in as finer grained information about where the focus is coming from (in addition to direction). Will be null otherwise.

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

Called from layout when this view should assign a size and position to each of its children. Derived classes with children should override this method and call layout on each of their their children.

Parameters

changed This is a new size or position for this view
left Left position, relative to parent
top Top position, relative to parent
right Right position, relative to parent
bottom Bottom position, relative to parent

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)

Measure the view and its content to determine the measured width and the measured height. This method is invoked by measure(int, int) and should be overriden by subclasses to provide accurate and efficient measurement of their contents.

CONTRACT: When overriding this method, you must call setMeasuredDimension(int, int) to store the measured width and height of this view. Failure to do so will trigger an IllegalStateException, thrown by measure(int, int). Calling the superclass' onMeasure(int, int) is a valid use.

The base class implementation of measure defaults to the background size, unless a larger size is allowed by the MeasureSpec. Subclasses should override onMeasure(int, int) to provide better measurements of their content.

If this method is overridden, it is the subclass's responsibility to make sure the measured height and width are at least the view's minimum height and width (getSuggestedMinimumHeight() and getSuggestedMinimumWidth()).

Parameters

widthMeasureSpec horizontal space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec.
heightMeasureSpec vertical space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec.

protected void onRestoreInstanceState(Parcelable state)

Hook allowing a view to re-apply a representation of its internal state that had previously been generated by onSaveInstanceState(). This function will never be called with a null state.

Parameters

state The frozen state that had previously been returned by onSaveInstanceState().

protected Parcelable onSaveInstanceState()

Hook allowing a view to generate a representation of its internal state that can later be used to create a new instance with that same state. This state should only contain information that is not persistent or can not be reconstructed later. For example, you will never store your current position on screen because that will be computed again when a new instance of the view is placed in its view hierarchy.

Some examples of things you may store here: the current cursor position in a text view (but usually not the text itself since that is stored in a content provider or other persistent storage), the currently selected item in a list view.

Returns

  • Returns a Parcelable object containing the view's current dynamic state, or null if there is nothing interesting to save. The default implementation returns null.

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

This is called in response to an internal scroll in this view (i.e., the view scrolled its own contents). This is typically as a result of scrollBy(int, int) or scrollTo(int, int) having been called.

Parameters

l Current horizontal scroll origin.
t Current vertical scroll origin.
oldl Previous horizontal scroll origin.
oldt Previous vertical scroll origin.

protected boolean onSetAlpha(int alpha)

Invoked if there is a Transform that involves alpha. Subclass that can draw themselves with the specified alpha should return true, and then respect that alpha when their onDraw() is called. If this returns false then the view may be redirected to draw into an offscreen buffer to fulfill the request, which will look fine, but may be slower than if the subclass handles it internally. The default implementation returns false.

Parameters

alpha The alpha (0..255) to apply to the view's drawing

Returns

  • true if the view can draw with the specified alpha.

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

This is called during layout when the size of this view has changed. If you were just added to the view hierarchy, you're called with the old values of 0.

Parameters

w Current width of this view.
h Current height of this view.
oldw Old width of this view.
oldh Old height of this view.

protected void onWindowVisibilityChanged(int visibility)

Called when the window containing has change its visibility (between GONE, INVISIBLE, and VISIBLE). Note that this tells you whether or not your window is being made visible to the window manager; this does not tell you whether or not your window is obscured by other windows on the screen, even if it is itself visible.

Parameters

visibility The new visibility of the window.

protected final void setMeasuredDimension(int measuredWidth, int measuredHeight)

This mehod must be called by onMeasure(int, int) to store the measured width and measured height. Failing to do so will trigger an exception at measurement time.

Parameters

measuredWidth the measured width of this view
measuredHeight the measured height of this view

protected boolean verifyDrawable(Drawable who)

If your view subclass is displaying its own Drawable objects, it should override this function and return true for any Drawable it is displaying. This allows animations for those drawables to be scheduled.

Be sure to call through to the super class when overriding this function.

Parameters

who The Drawable to verify. Return true if it is one you are displaying, else return the result of calling through to the super class.

Returns

  • boolean If true than the Drawable is being displayed in the view; else false and it is not allowed to animate.
Copyright 2007 Google Inc. Build 0.9_r1-98467 - 14 Aug 2008 18:56