Android
android.widget
public abstract class

android.widget.AbsListView

java.lang.Object
android.view.View Drawable.Callback KeyEvent.Callback
android.view.ViewGroup ViewManager ViewParent
android.widget.AdapterView<T extends android.widget.Adapter>
android.widget.AbsListView TextWatcher ViewTreeObserver.OnGlobalLayoutListener ViewTreeObserver.OnTouchModeChangeListener Filter.FilterListener

Common code shared between ListView and GridView

Nested Classes
AbsListView.LayoutParams AbsListView extends LayoutParams to provide a place to hold the view type. 
AbsListView.OnScrollListener Interface definition for a callback to be invoked when the list or grid has been scrolled. 
AbsListView.RecyclerListener A RecyclerListener is used to receive a notification whenever a View is placed inside the RecycleBin's scrap heap. 
Known Direct Subclasses
Known Indirect Subclasses

Summary

XML Attributes

Attribute name Related methods  
android:cacheColorHint   Indicates that this list will always be drawn on top of solid, single-color opaque background. 
android:drawSelectorOnTop setDrawSelectorOnTop(boolean)
 
When set to true, the selector will be drawn over the selected item. 
android:listSelector setSelector(int)
 
Drawable used to indicate the currently selected item in the list. 
android:scrollingCache   When set to true, the list uses a drawing cache during scrolling. 
android:stackFromBottom   Used by ListView and GridView to stack their content from the bottom. 
android:textFilterEnabled   When set to true, the list will filter results as the user types. 
android:transcriptMode   Sets the transcript mode for the list. 
XML Attributes inherited from class android.view.ViewGroup
XML Attributes inherited from class android.view.View

Constants

      Value  
int  TRANSCRIPT_MODE_ALWAYS_SCROLL  The list will automatically scroll to the bottom, no matter what items are currently visible.  0x00000002 
int  TRANSCRIPT_MODE_DISABLED  Disables the transcript mode.  0x00000000 
int  TRANSCRIPT_MODE_NORMAL  The list will automatically scroll to the bottom when a data set change notification is received and only if the last item is already visible on screen.  0x00000001 
Constants inherited from class android.widget.AdapterView
Constants inherited from class android.view.ViewGroup
Constants inherited from class android.view.View
Fields inherited from class android.widget.AdapterView
Fields inherited from class android.view.ViewGroup
Fields inherited from class android.view.View

Public Constructors

            AbsListView(Context context)
            AbsListView(Context context, AttributeSet attrs)
            AbsListView(Context context, AttributeSet attrs, int defStyle)

Public Methods

          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  afterTextChanged(Editable s)
For our text watcher that associated with the text filter
          void  beforeTextChanged(CharSequence s, int start, int count, int after)
For our text watcher that associated with the text filter
          void  clearTextFilter()
Clear the text filter.
          AbsListView.LayoutParams  generateLayoutParams(AttributeSet attrs)
Returns a new set of layout parameters based on the supplied attributes set.
          int  getCacheColorHint()
When set to a non-zero value, the cache color hint indicates that this list is always drawn on top of a solid, single-color, opaque background
          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.
          int  getListPaddingBottom()
List padding is the maximum of the normal view's padding and the padding of the selector.
          int  getListPaddingLeft()
List padding is the maximum of the normal view's padding and the padding of the selector.
          int  getListPaddingRight()
List padding is the maximum of the normal view's padding and the padding of the selector.
          int  getListPaddingTop()
List padding is the maximum of the normal view's padding and the padding of the selector.
          View  getSelectedView()
          Drawable  getSelector()
Returns the selector Drawable that is used to draw the selection in the list.
          int  getSolidColor()
Override this if your view is known to always be drawn on top of a solid color background, and needs to draw fading edges.
          int  getTranscriptMode()
Returns the current transcript mode.
          boolean  hasTextFilter()
Returns if the ListView currently has a text filter.
          void  invalidateViews()
Causes all the views to be rebuilt and redrawn.
          boolean  isScrollingCacheEnabled()
Indicates whether the children's drawing cache is used during a scroll.
          boolean  isStackFromBottom()
Indicates whether the content of this view is pinned to, or stacked from, the bottom edge.
          boolean  isTextFilterEnabled()
Indicates whether type filtering is enabled for this view
          void  onFilterComplete(int count)

Notifies the end of a filtering operation.

          void  onGlobalLayout()
Callback method to be invoked when the global layout state or the visibility of views within the view tree changes
          boolean  onInterceptTouchEvent(MotionEvent ev)
Implement this method to intercept all touch screen motion events.
          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.
          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  onTextChanged(CharSequence s, int start, int before, int count)
For our text watcher that associated with the text filter.
          boolean  onTouchEvent(MotionEvent ev)
Implement this method to handle touch screen motion events.
          void  onTouchModeChanged(boolean isInTouchMode)
Callback method to be invoked when the touch mode changes.
          void  onWindowFocusChanged(boolean hasWindowFocus)
Called when the window containing this view gains or loses focus.
          int  pointToPosition(int x, int y)
Maps a point to a position in the list.
          long  pointToRowId(int x, int y)
Maps a point to a the rowId of the item which intersects that point.
          void  reclaimViews(List<View> views)
Move all views (excluding headers and footers) held by this AbsListView into the supplied List.
          void  requestLayout()
Call this when something has changed which has invalidated the layout of this view.
          void  setCacheColorHint(int color)
When set to a non-zero value, the cache color hint indicates that this list is always drawn on top of a solid, single-color, opaque background
          void  setDrawSelectorOnTop(boolean onTop)
Controls whether the selection highlight drawable should be drawn on top of the item or behind it.
          void  setFilterText(String filterText)
Sets the initial value for the text filter.
          void  setOnScrollListener(AbsListView.OnScrollListener l)
Set the listener that will receive notifications every time the list scrolls.
          void  setRecyclerListener(AbsListView.RecyclerListener listener)
Sets the recycler listener to be notified whenever a View is set aside in the recycler for later reuse.
          void  setScrollIndicators(View up, View down)
          void  setScrollingCacheEnabled(boolean enabled)
Enables or disables the children's drawing cache during a scroll.
          void  setSelector(int resID)
Set a Drawable that should be used to highlight the currently selected item.
          void  setSelector(Drawable sel)
          void  setStackFromBottom(boolean stackFromBottom)
When stack from bottom is set to true, the list fills its content starting from the bottom of the view.
          void  setTextFilterEnabled(boolean textFilterEnabled)
Enables or disables the type filter window.
          void  setTranscriptMode(int mode)
Puts the list or grid into transcript mode.
          boolean  showContextMenuForChild(View originalView)
Bring up a context menu for the specified view or its ancestors.
          boolean  verifyDrawable(Drawable dr)
If your view subclass is displaying its own Drawable objects, it should override this function and return true for any Drawable it is displaying.

Protected Methods

          boolean  checkLayoutParams(ViewGroup.LayoutParams p)
          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  dispatchSetPressed(boolean pressed)
Dispatch setPressed 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.
          ViewGroup.LayoutParams  generateLayoutParams(ViewGroup.LayoutParams p)
Returns a safe set of layout parameters based on the supplied layout params.
          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.
          float  getTopFadingEdgeStrength()
Returns the strength, or intensity, of the top faded edge.
          void  handleDataChanged()
          boolean  isInFilterMode()
Indicates whether this view is in filter mode.
          void  layoutChildren()
          void  onAttachedToWindow()
This is called when the view is attached to a window.
          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  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 l, int t, int r, int b)
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  onSizeChanged(int w, int h, int oldw, int oldh)
This is called during layout when the size of this view has changed.
Methods inherited from class android.widget.AdapterView
Methods inherited from class android.view.ViewGroup
Methods inherited from class android.view.View
Methods inherited from class java.lang.Object
Methods inherited from interface android.graphics.drawable.Drawable.Callback
Methods inherited from interface android.text.TextWatcher
Methods inherited from interface android.view.KeyEvent.Callback
Methods inherited from interface android.view.ViewManager
Methods inherited from interface android.view.ViewParent
Methods inherited from interface android.view.ViewTreeObserver.OnGlobalLayoutListener
Methods inherited from interface android.view.ViewTreeObserver.OnTouchModeChangeListener
Methods inherited from interface android.widget.Filter.FilterListener

Details

XML Attributes

android:cacheColorHint

Indicates that this list will always be drawn on top of solid, single-color opaque background. This allows the list to optimize drawing.

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

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This corresponds to the global attribute resource symbol cacheColorHint.

Related Methods

android:drawSelectorOnTop

When set to true, the selector will be drawn over the selected item. Otherwise the selector is drawn behind the selected item. The default value is false.

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

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This corresponds to the global attribute resource symbol drawSelectorOnTop.

android:listSelector

Drawable used to indicate the currently selected item in the list.

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

Related Methods

android:scrollingCache

When set to true, the list uses a drawing cache during scrolling. This makes the rendering faster but uses more memory. The default value is 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 scrollingCache.

Related Methods

android:stackFromBottom

Used by ListView and GridView to stack their content from the bottom.

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

Related Methods

android:textFilterEnabled

When set to true, the list will filter results as the user types. The List's adapter must support the Filterable interface for this to work

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

Related Methods

android:transcriptMode

Sets the transcript mode for the list. In transcript mode, the list scrolls to the bottom to make new items visible when they are added.

Must be one of the following constant values.

ConstantValueDescription
disabled0 Disables transcript mode. This is the default value.
normal1 The list will automatically scroll to the bottom when a data set change notification is received and only if the last item is already visible on screen.
alwaysScroll2 The list will automatically scroll to the bottom, no matter what items are currently visible.

This corresponds to the global attribute resource symbol transcriptMode.

Related Methods

Constants

public static final int TRANSCRIPT_MODE_ALWAYS_SCROLL

The list will automatically scroll to the bottom, no matter what items are currently visible.
Constant Value: 2 (0x00000002)

public static final int TRANSCRIPT_MODE_DISABLED

Disables the transcript mode.
Constant Value: 0 (0x00000000)

public static final int TRANSCRIPT_MODE_NORMAL

The list will automatically scroll to the bottom when a data set change notification is received and only if the last item is already visible on screen.
Constant Value: 1 (0x00000001)

Public Constructors

public AbsListView(Context context)

public AbsListView(Context context, AttributeSet attrs)

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

Public Methods

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 afterTextChanged(Editable s)

For our text watcher that associated with the text filter

public void beforeTextChanged(CharSequence s, int start, int count, int after)

For our text watcher that associated with the text filter

public void clearTextFilter()

Clear the text filter.

public AbsListView.LayoutParams generateLayoutParams(AttributeSet attrs)

Returns a new set of layout parameters based on the supplied attributes set.

Parameters

attrs the attributes to build the layout parameters from

Returns

public int getCacheColorHint()

When set to a non-zero value, the cache color hint indicates that this list is always drawn on top of a solid, single-color, opaque background

Returns

  • The cache color hint

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 int getListPaddingBottom()

List padding is the maximum of the normal view's padding and the padding of the selector.

Returns

  • The bottom list padding.

public int getListPaddingLeft()

List padding is the maximum of the normal view's padding and the padding of the selector.

Returns

  • The left list padding.

public int getListPaddingRight()

List padding is the maximum of the normal view's padding and the padding of the selector.

Returns

  • The right list padding.

public int getListPaddingTop()

List padding is the maximum of the normal view's padding and the padding of the selector.

Returns

  • The top list padding.

public View getSelectedView()

Returns

  • The view corresponding to the currently selected item, or null if nothing is selected

public Drawable getSelector()

Returns the selector Drawable that is used to draw the selection in the list.

Returns

  • the drawable used to display the selector

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 int getTranscriptMode()

Returns the current transcript mode.

public boolean hasTextFilter()

Returns if the ListView currently has a text filter.

public void invalidateViews()

Causes all the views to be rebuilt and redrawn.

public boolean isScrollingCacheEnabled()

Indicates whether the children's drawing cache is used during a scroll. By default, the drawing cache is enabled but this will consume more memory.

Returns

  • true if the scrolling cache is enabled, false otherwise

public boolean isStackFromBottom()

Indicates whether the content of this view is pinned to, or stacked from, the bottom edge.

Returns

  • true if the content is stacked from the bottom edge, false otherwise

public boolean isTextFilterEnabled()

Indicates whether type filtering is enabled for this view

Returns

  • true if type filtering is enabled, false otherwise

public void onFilterComplete(int count)

Notifies the end of a filtering operation.

public void onGlobalLayout()

Callback method to be invoked when the global layout state or the visibility of views within the view tree changes

public boolean onInterceptTouchEvent(MotionEvent ev)

Implement this method to intercept all touch screen motion events. This allows you to watch events as they are dispatched to your children, and take ownership of the current gesture at any point.

Using this function takes some care, as it has a fairly complicated interaction with View.onTouchEvent(MotionEvent), and using it requires implementing that method as well as this one in the correct way. Events will be received in the following order:

  1. You will receive the down event here.
  2. The down event will be handled either by a child of this view group, or given to your own onTouchEvent() method to handle; this means you should implement onTouchEvent() to return true, so you will continue to see the rest of the gesture (instead of looking for a parent view to handle it). Also, by returning true from onTouchEvent(), you will not receive any following events in onInterceptTouchEvent() and all touch processing must happen in onTouchEvent() like normal.
  3. For as long as you return false from this function, each following event (up to and including the final up) will be delivered first here and then to the target's onTouchEvent().
  4. If you return true from here, you will not receive any following events: the target view will receive the same event but with the action ACTION_CANCEL, and all further events will be delivered to your onTouchEvent() method and no longer appear here.

Parameters

ev The motion event being dispatched down the hierarchy.

Returns

  • Return true to steal motion events from the children and have them dispatched to this ViewGroup through onTouchEvent(). The current target will receive an ACTION_CANCEL event, and no further messages will be delivered here.

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

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

public void onTextChanged(CharSequence s, int start, int before, int count)

For our text watcher that associated with the text filter. Performs the actual filtering as the text changes.

public boolean onTouchEvent(MotionEvent ev)

Implement this method to handle touch screen motion events.

Parameters

ev The motion event.

Returns

  • True if the event was handled, false otherwise.

public void onTouchModeChanged(boolean isInTouchMode)

Callback method to be invoked when the touch mode changes.

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 int pointToPosition(int x, int y)

Maps a point to a position in the list.

Parameters

x X in local coordinate
y Y in local coordinate

Returns

  • The position of the item which contains the specified point, or INVALID_POSITION if the point does not intersect an item.

public long pointToRowId(int x, int y)

Maps a point to a the rowId of the item which intersects that point.

Parameters

x X in local coordinate
y Y in local coordinate

Returns

  • The rowId of the item which contains the specified point, or INVALID_ROW_ID if the point does not intersect an item.

public void reclaimViews(List<View> views)

Move all views (excluding headers and footers) held by this AbsListView into the supplied List. This includes views displayed on the screen as well as views stored in AbsListView's internal view recycler.

Parameters

views A list into which to put the reclaimed views

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 void setCacheColorHint(int color)

When set to a non-zero value, the cache color hint indicates that this list is always drawn on top of a solid, single-color, opaque background

Parameters

color The background color

public void setDrawSelectorOnTop(boolean onTop)

Controls whether the selection highlight drawable should be drawn on top of the item or behind it.

Related XML Attributes

Parameters

onTop If true, the selector will be drawn on the item it is highlighting. The default is false.

public void setFilterText(String filterText)

Sets the initial value for the text filter.

Parameters

filterText The text to use for the filter.

public void setOnScrollListener(AbsListView.OnScrollListener l)

Set the listener that will receive notifications every time the list scrolls.

Parameters

l the scroll listener

public void setRecyclerListener(AbsListView.RecyclerListener listener)

Sets the recycler listener to be notified whenever a View is set aside in the recycler for later reuse. This listener can be used to free resources associated to the View.

Parameters

listener The recycler listener to be notified of views set aside in the recycler.

See Also

public void setScrollIndicators(View up, View down)

public void setScrollingCacheEnabled(boolean enabled)

Enables or disables the children's drawing cache during a scroll. By default, the drawing cache is enabled but this will use more memory. When the scrolling cache is enabled, the caches are kept after the first scrolling. You can manually clear the cache by calling setChildrenDrawingCacheEnabled(boolean).

Parameters

enabled true to enable the scroll cache, false otherwise

public void setSelector(int resID)

Set a Drawable that should be used to highlight the currently selected item.

Related XML Attributes

Parameters

resID A Drawable resource to use as the selection highlight.

public void setSelector(Drawable sel)

public void setStackFromBottom(boolean stackFromBottom)

When stack from bottom is set to true, the list fills its content starting from the bottom of the view.

Parameters

stackFromBottom true to pin the view's content to the bottom edge, false to pin the view's content to the top edge

public void setTextFilterEnabled(boolean textFilterEnabled)

Enables or disables the type filter window. If enabled, typing when this view has focus will filter the children to match the users input. Note that the Adapter used by this view must implement the Filterable interface.

Parameters

textFilterEnabled true to enable type filtering, false otherwise

See Also

public void setTranscriptMode(int mode)

Puts the list or grid into transcript mode. In this mode the list or grid will always scroll to the bottom to show new items.

Parameters

mode the transcript mode to set

public boolean showContextMenuForChild(View originalView)

Bring up a context menu for the specified view or its ancestors.

In most cases, a subclass does not need to override this. However, if the subclass is added directly to the window manager (for example, addView(View, android.view.ViewGroup.LayoutParams)) then it should override this and show the context menu.

public boolean verifyDrawable(Drawable dr)

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

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

Protected Methods

protected boolean checkLayoutParams(ViewGroup.LayoutParams p)

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 dispatchSetPressed(boolean pressed)

Dispatch setPressed to all of this View's children.

Parameters

pressed The new pressed 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.

protected ViewGroup.LayoutParams generateLayoutParams(ViewGroup.LayoutParams p)

Returns a safe set of layout parameters based on the supplied layout params. When a ViewGroup is passed a View whose layout params do not pass the test of checkLayoutParams(android.view.ViewGroup.LayoutParams), this method is invoked. This method should return a new set of layout params suitable for this ViewGroup, possibly by copying the appropriate attributes from the specified set of layout params.

Parameters

p The layout parameters to convert into a suitable set of layout parameters for this ViewGroup.

Returns

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 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 void handleDataChanged()

protected boolean isInFilterMode()

Indicates whether this view is in filter mode. Filter mode can for instance be enabled by a user when typing on the keyboard.

Returns

  • True if the view is in filter mode, false otherwise.

protected void layoutChildren()

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

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 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 l, int t, int r, int b)

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
l Left position, relative to parent
t Top position, relative to parent
r Right position, relative to parent
b 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 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.
Copyright 2007 Google Inc. Build 0.9_r1-98467 - 14 Aug 2008 18:48