Android
android.widget
public class

android.widget.Gallery

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.AbsSpinner
android.widget.Gallery GestureDetector.OnGestureListener

A view that shows items in a center-locked, horizontally scrolling list.

The default values for the Gallery assume you will be using Theme_galleryItemBackground as the background for each View given to the Gallery from the Adapter. If you are not doing this, you may need to adjust some Gallery properties, such as the spacing.

Nested Classes
Gallery.LayoutParams Gallery extends LayoutParams to provide a place to hold current Transformation information along with previous position/transformation info. 

Summary

XML Attributes

Attribute name Related methods  
android:animationDuration setAnimationDuration(int)
 
Sets how long a transition animation should run (in milliseconds) when layout has changed. 
android:gravity setGravity(int)
 
Specifies how to place an object, both its x and y axis, within a larger containing object. 
android:spacing setSpacing(int)
 
 
android:unselectedAlpha setUnselectedAlpha(float)
 
Sets the alpha on the items that are not selected. 
XML Attributes inherited from class android.widget.AbsSpinner
XML Attributes inherited from class android.view.ViewGroup
XML Attributes inherited from class android.view.View
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

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

Public Methods

          boolean  dispatchKeyEvent(KeyEvent event)
Dispatch a key event to the next view on the focus path.
          void  dispatchSetSelected(boolean selected)
Dispatch setSelected to all of this View's children.
          ViewGroup.LayoutParams  generateLayoutParams(AttributeSet attrs)
Returns a new set of layout parameters based on the supplied attributes set.
          boolean  onDown(MotionEvent e)
Notified when a tap occurs with the down MotionEvent that triggered it.
          boolean  onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
Notified of a fling event when it occurs with the initial on down MotionEvent and the matching up MotionEvent.
          boolean  onKeyDown(int keyCode, KeyEvent event)
Handles left, right, and clicking
          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  onLongPress(MotionEvent e)
Notified when a long press occurs with the initial on down MotionEvent that trigged it.
          boolean  onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
Notified when a scroll occurs with the initial on down MotionEvent and the current move MotionEvent.
          void  onShowPress(MotionEvent e)
The user has performed a down MotionEvent and not performed a move or up yet.
          boolean  onSingleTapUp(MotionEvent e)
Notified when a tap occurs with the up MotionEvent that triggered it.
          boolean  onTouchEvent(MotionEvent event)
Implement this method to handle touch screen motion events.
          void  setAnimationDuration(int animationDurationMillis)
Sets how long the transition animation should run when a child view changes position.
          void  setCallbackDuringFling(boolean shouldCallback)
Whether or not to callback on any getOnItemSelectedListener() while the items are being flinged.
          void  setGravity(int gravity)
Describes how the child views are aligned.
          void  setSpacing(int spacing)
Sets the spacing between items in a Gallery
          void  setUnselectedAlpha(float unselectedAlpha)
Sets the alpha of items that are not selected in the Gallery.
          boolean  showContextMenu()
Bring up the context menu for this view.
          boolean  showContextMenuForChild(View originalView)
Bring up a context menu for the specified view or its ancestors.

Protected Methods

          boolean  checkLayoutParams(ViewGroup.LayoutParams p)
          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.

          void  dispatchSetPressed(boolean pressed)
Dispatch setPressed to all of this View's children.
          ViewGroup.LayoutParams  generateDefaultLayoutParams()
Returns a set of default layout parameters.
          ViewGroup.LayoutParams  generateLayoutParams(ViewGroup.LayoutParams p)
Returns a safe set of layout parameters based on the supplied layout params.
          int  getChildDrawingOrder(int childCount, int i)
Returns the index of the child to draw for this iteration.
          boolean  getChildStaticTransformation(View child, Transformation t)
          ContextMenu.ContextMenuInfo  getContextMenuInfo()
Views should implement this if they have extra information to associate with the context menu.
          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.
Methods inherited from class android.widget.AbsSpinner
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.view.GestureDetector.OnGestureListener
Methods inherited from interface android.view.KeyEvent.Callback
Methods inherited from interface android.view.ViewManager
Methods inherited from interface android.view.ViewParent

Details

XML Attributes

android:animationDuration

Sets how long a transition animation should run (in milliseconds) when layout has changed. Only relevant if animation is turned on.

Must be an integer value, such as "100".

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

This corresponds to the global attribute resource symbol animationDuration.

Related Methods

android:gravity

Specifies how to place an object, both its x and y axis, within a larger containing object.

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

ConstantValueDescription
top0x30 Push object to the top of its container, not changing its size.
bottom0x50 Push object to the bottom of its container, not changing its size.
left0x03 Push object to the left of its container, not changing its size.
right0x05 Push object to the right of its container, not changing its size.
center_vertical0x10 Place object in the vertical center of its container, not changing its size.
fill_vertical0x70 Grow the vertical size of the object if needed so it completely fills its container.
center_horizontal0x01 Place object in the horizontal center of its container, not changing its size.
fill_horizontal0x07 Grow the horizontal size of the object if needed so it completely fills its container.
center0x11 Place the object in the center of its container in both the vertical and horizontal axis, not changing its size.
fill0x77 Grow the horizontal and vertical size of the object if needed so it completely fills its container.

This corresponds to the global attribute resource symbol gravity.

Related Methods

android:spacing

Related Methods

android:unselectedAlpha

Sets the alpha on the items that are not selected.

Must be a floating point value, such as "1.2".

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

This corresponds to the global attribute resource symbol unselectedAlpha.

Related Methods

Public Constructors

public Gallery(Context context)

public Gallery(Context context, AttributeSet attrs)

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

Public Methods

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.

public void dispatchSetSelected(boolean selected)

Dispatch setSelected to all of this View's children.

Parameters

selected The new selected state

public ViewGroup.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 boolean onDown(MotionEvent e)

Notified when a tap occurs with the down MotionEvent that triggered it. This will be triggered immediately for every down event. All other events should be preceded by this.

public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)

Notified of a fling event when it occurs with the initial on down MotionEvent and the matching up MotionEvent. The calculated velocity is supplied along the x and y axis in pixels per second.

public boolean onKeyDown(int keyCode, KeyEvent event)

Handles left, right, and clicking

Parameters

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

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 onLongPress(MotionEvent e)

Notified when a long press occurs with the initial on down MotionEvent that trigged it.

public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)

Notified when a scroll occurs with the initial on down MotionEvent and the current move MotionEvent. The distance in x and y is also supplied for convenience.

public void onShowPress(MotionEvent e)

The user has performed a down MotionEvent and not performed a move or up yet. This event is commonly used to provide visual feedback to the user to let them know that their action has been recognized i.e. highlight an element.

public boolean onSingleTapUp(MotionEvent e)

Notified when a tap occurs with the up MotionEvent that triggered it.

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 void setAnimationDuration(int animationDurationMillis)

Sets how long the transition animation should run when a child view changes position. Only relevant if animation is turned on.

Related XML Attributes

Parameters

animationDurationMillis The duration of the transition, in milliseconds.

public void setCallbackDuringFling(boolean shouldCallback)

Whether or not to callback on any getOnItemSelectedListener() while the items are being flinged. If false, only the final selected item will cause the callback. If true, all items between the first and the final will cause callbacks.

Parameters

shouldCallback Whether or not to callback on the listener while the items are being flinged.

public void setGravity(int gravity)

Describes how the child views are aligned.

Related XML Attributes

public void setSpacing(int spacing)

Sets the spacing between items in a Gallery

Related XML Attributes

Parameters

spacing The spacing in pixels between items in the Gallery

public void setUnselectedAlpha(float unselectedAlpha)

Sets the alpha of items that are not selected in the Gallery.

Related XML Attributes

Parameters

unselectedAlpha the alpha for the items that are not selected.

public boolean showContextMenu()

Bring up the context menu for this view.

Returns

  • Whether a context menu was displayed.

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.

Protected Methods

protected boolean checkLayoutParams(ViewGroup.LayoutParams p)

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

Dispatch setPressed to all of this View's children.

Parameters

pressed The new pressed state

protected ViewGroup.LayoutParams generateDefaultLayoutParams()

Returns a set of default layout parameters. These parameters are requested when the View passed to addView(View) has no layout parameters already set. If null is returned, an exception is thrown from addView.

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 int getChildDrawingOrder(int childCount, int i)

Returns the index of the child to draw for this iteration. Override this if you want to change the drawing order of children. By default, it returns i.

NOTE: In order for this method to be called, the FLAG_USE_CHILD_DRAWING_ORDER must be set.

Parameters

i The current iteration.

Returns

  • The index of the child to draw this iteration.

protected boolean getChildStaticTransformation(View child, Transformation t)

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 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
Copyright 2007 Google Inc. Build 0.9_r1-98467 - 14 Aug 2008 18:48