The widget package contains (mostly visual) UI elements to use on your Application screen. You can also design your own.
To create your own widget, extend
View or a subclass. To
use your widget in layout XML, there are two additional files for you to
create. Here is a list of files you'll need to create to implement a custom
ApiDemos sample application has an example of creating a custom layout XML tag, LabelView. See the following files that demonstrate implementing and using a custom widget:
This annotation indicates that a subclass of View is alllowed to be used
A MultiChoiceModeListener receives events for
|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.|
|AbsListView.SelectionBoundsAdjuster||The top-level view of a list item can implement this interface to allow itself to modify the bounds of the selection shown for that item.|
|ActionMenuView.OnMenuItemClickListener||Interface responsible for receiving menu item click events if the items themselves do not have individual item click listeners.|
An Adapter object acts as a bridge between an
|AdapterView.OnItemClickListener||Interface definition for a callback to be invoked when an item in this AdapterView has been clicked.|
|AdapterView.OnItemLongClickListener||Interface definition for a callback to be invoked when an item in this view has been clicked and held.|
|AdapterView.OnItemSelectedListener||Interface definition for a callback to be invoked when an item in this view has been selected.|
|Advanceable||This interface can be implemented by any collection-type view which has a notion of progressing through its set of children.|
|AutoCompleteTextView.OnDismissListener||Listener to respond to the AutoCompleteTextView's completion list being dismissed.|
|AutoCompleteTextView.Validator||This interface is used to make sure that the text entered in this TextView complies to a certain format.|
|CalendarView.OnDateChangeListener||The callback used to indicate the user changes the date.|
|Checkable||Defines an extension for views that make them checkable.|
|Chronometer.OnChronometerTickListener||A callback that notifies when the chronometer has incremented on its own.|
|CompoundButton.OnCheckedChangeListener||Interface definition for a callback to be invoked when the checked state of a compound button changed.|
|DatePicker.OnDateChangedListener||The callback used to indicate the user changed the date.|
An adapter that links a
|ExpandableListView.OnChildClickListener||Interface definition for a callback to be invoked when a child in this expandable list has been clicked.|
|ExpandableListView.OnGroupClickListener||Interface definition for a callback to be invoked when a group in this expandable list has been clicked.|
|ExpandableListView.OnGroupCollapseListener||Used for being notified when a group is collapsed|
|ExpandableListView.OnGroupExpandListener||Used for being notified when a group is expanded|
Listener used to receive a notification upon completion of a filtering operation.
Defines a filterable behavior.
|FilterQueryProvider||This class can be used by external clients of CursorAdapter and CursorTreeAdapter to define how the content of the adapter should be filtered.|
Additional methods that when implemented make an
|NumberPicker.Formatter||Interface used to format current value into a string for presentation.|
|NumberPicker.OnScrollListener||Interface to listen for the picker scroll state.|
|NumberPicker.OnValueChangeListener||Interface to listen for changes of the current value.|
|PopupMenu.OnDismissListener||Callback interface used to notify the application that the menu has closed.|
|PopupMenu.OnMenuItemClickListener||Interface responsible for receiving menu item click events if the items themselves do not have individual item click listeners.|
|PopupWindow.OnDismissListener||Listener that is called when this popup window is dismissed.|
Interface definition for a callback to be invoked when the checked radio button changed in this group.
|RatingBar.OnRatingBarChangeListener||A callback that notifies clients when the rating has been changed.|
|RemoteViewsService.RemoteViewsFactory||An interface for an adapter between a remote collection view (ListView, GridView, etc) and the underlying data for that view.|
|SearchView.OnQueryTextListener||Callbacks for changes to the query text.|
|SearchView.OnSuggestionListener||Callback interface for selection events on suggestions.|
Interface that may implemented on
|SeekBar.OnSeekBarChangeListener||A callback that notifies clients when the progress level has been changed.|
|ShareActionProvider.OnShareTargetSelectedListener||Listener for the event of selecting a share target.|
|SimpleAdapter.ViewBinder||This class can be used by external clients of SimpleAdapter to bind values to views.|
|SimpleCursorAdapter.CursorToStringConverter||This class can be used by external clients of SimpleCursorAdapter to define how the Cursor should be converted to a String.|
|SimpleCursorAdapter.ViewBinder||This class can be used by external clients of SimpleCursorAdapter to bind values fom the Cursor to views.|
|SimpleCursorTreeAdapter.ViewBinder||This class can be used by external clients of SimpleCursorTreeAdapter to bind values from the Cursor to views.|
|SlidingDrawer.OnDrawerCloseListener||Callback invoked when the drawer is closed.|
|SlidingDrawer.OnDrawerOpenListener||Callback invoked when the drawer is opened.|
|SlidingDrawer.OnDrawerScrollListener||Callback invoked when the drawer is scrolled.|
|TabHost.OnTabChangeListener||Interface definition for a callback to be invoked when tab changed|
|TabHost.TabContentFactory||Makes the content of a tab when it is selected.|
|TextView.OnEditorActionListener||Interface definition for a callback to be invoked when an action is performed on the editor.|
|ThemedSpinnerAdapter||An extension of SpinnerAdapter that is capable of inflating drop-down views against a different theme than normal views.|
|TimePicker.OnTimeChangedListener||The callback interface used to indicate the time has been adjusted.|
|Toolbar.OnMenuItemClickListener||Interface responsible for receiving menu item click events if the items themselves do not have individual item click listeners.|
|ViewSwitcher.ViewFactory||Creates views in a ViewSwitcher.|
|WrapperListAdapter||List adapter that wraps another list adapter.|
|ZoomButtonsController.OnZoomListener||Interface that will be called when the user performs an interaction that triggers some action, for example zooming.|
|AbsListView||Base class that can be used to implement virtualized lists of items.|
|AbsListView.LayoutParams||AbsListView extends LayoutParams to provide a place to hold the view type.|
This class was deprecated
in API level 3.
|AbsoluteLayout.LayoutParams||Per-child layout information associated with AbsoluteLayout.|
|AbsSpinner||An abstract base class for spinner widgets.|
|ActionMenuView||ActionMenuView is a presentation of a series of menu options as a View.|
|AdapterView<T extends Adapter>||
An AdapterView is a view whose children are determined by an
Extra menu information provided to the
Base class for a
|AlphabetIndexer||A helper class for adapters that implement the SectionIndexer interface.|
|AnalogClock||This class was deprecated in API level 23. This widget is no longer supported.|
|ArrayAdapter<T>||A concrete BaseAdapter that is backed by an array of arbitrary objects.|
An editable text view that shows completion suggestions automatically while the user is typing.
Common base class of common implementation for an
Base class for a
|Button||Represents a push-button widget.|
|CalendarView||This class is a calendar widget for displaying and selecting dates.|
A checkbox is a specific type of two-states button that can be either checked or unchecked.
An extension to
|Chronometer||Class that implements a simple timer.|
A button with two states, checked and unchecked.
Adapter that exposes data from a
An adapter that exposes data from a series of
|DatePicker||Provides a widget for selecting a date.|
This class was deprecated
in API level 17.
It is recommended you use
|EdgeEffect||This class performs the graphical effect used at the edges of scrollable widgets when the user scrolls beyond the content bounds in 2D space.|
|EditText||EditText is a thin veneer over TextView that configures itself to be editable.|
|ExpandableListView||A view that shows items in a vertically scrolling two-level list.|
Extra menu information specific to an
A filter constrains data with a filtering pattern.
Holds the results of a filtering operation.
|FrameLayout||FrameLayout is designed to block out an area on the screen to display a single item.|
|FrameLayout.LayoutParams||Per-child layout information for layouts that support margins.|
This class was deprecated
in API level 16.
This widget is no longer supported. Other horizontally scrolling
|Gallery.LayoutParams||Gallery extends LayoutParams to provide a place to hold current Transformation information along with previous position/transformation info.|
|GridLayout||A layout that places its children in a rectangular grid.|
|GridLayout.Alignment||Alignments specify where a view should be placed within a cell group and what size it should be.|
|GridLayout.LayoutParams||Layout information associated with each of the children of a GridLayout.|
|GridLayout.Spec||A Spec defines the horizontal or vertical characteristics of a group of cells.|
|GridView||A view that shows items in two-dimensional scrolling grid.|
|HeaderViewListAdapter||ListAdapter used when a ListView has header views.|
|HorizontalScrollView||Layout container for a view hierarchy that can be scrolled by the user, allowing it to be larger than the physical display.|
Displays a button with an image (instead of text) that can be pressed or clicked by the user.
|ImageView||Displays an arbitrary image, such as an icon.|
|LinearLayout||A Layout that arranges its children in a single column or a single row.|
|LinearLayout.LayoutParams||Per-child layout information associated with ViewLinearLayout.|
|ListPopupWindow||A ListPopupWindow anchors itself to a host view and displays a list of choices.|
|ListView||A view that shows items in a vertically scrolling list.|
|ListView.FixedViewInfo||A class that represents a fixed view in a list, for example a header at the top or a footer at the bottom.|
|MediaController||A view containing controls for a MediaPlayer.|
An editable text view, extending
|MultiAutoCompleteTextView.CommaTokenizer||This simple Tokenizer can be used for lists where the items are separated by a comma and one or more spaces.|
|NumberPicker||A widget that enables the user to select a number from a predefined range.|
|OverScroller||This class encapsulates scrolling with the ability to overshoot the bounds of a scrolling operation.|
A PopupMenu displays a
This class represents a popup window that can be used to display an arbitrary view.
Visual indicator of progress in some operation.
|QuickContactBadge||Widget used to show an image with the standard QuickContact badge and on-click behavior.|
A radio button is a two-states button that can be either checked or unchecked.
This class is used to create a multiple-exclusion scope for a set of radio buttons.
This set of layout parameters defaults the width and the height of
the children to
|RatingBar||A RatingBar is an extension of SeekBar and ProgressBar that shows a rating in stars.|
|RelativeLayout||A Layout where the positions of the children can be described in relation to each other or to the parent.|
|RelativeLayout.LayoutParams||Per-child layout information associated with RelativeLayout.|
|RemoteViews||A class that describes a view hierarchy that can be displayed in another process.|
|RemoteViewsService||The service to be connected to for a remote adapter to request RemoteViews.|
|ResourceCursorAdapter||An easy adapter that creates views defined in an XML file.|
|ResourceCursorTreeAdapter||A fairly simple ExpandableListAdapter that creates views defined in an XML file.|
This class encapsulates scrolling.
|ScrollView||Layout container for a view hierarchy that can be scrolled by the user, allowing it to be larger than the physical display.|
|SearchView||A widget that provides a user interface for the user to enter a search query and submit a request to a search provider.|
|SeekBar||A SeekBar is an extension of ProgressBar that adds a draggable thumb.|
|ShareActionProvider||This is a provider for a share action.|
|SimpleAdapter||An easy adapter to map static data to views defined in an XML file.|
|SimpleCursorAdapter||An easy adapter to map columns from a cursor to TextViews or ImageViews defined in an XML file.|
|SimpleCursorTreeAdapter||An easy adapter to map columns from a cursor to TextViews or ImageViews defined in an XML file.|
|SimpleExpandableListAdapter||An easy adapter to map static data to group and child views defined in an XML file.|
|SlidingDrawer||This class was deprecated in API level 17. This class is not supported anymore. It is recommended you base your own implementation on the source code for the Android Open Source Project if you must use it in your application.|
|Space||Space is a lightweight View subclass that may be used to create gaps between components in general purpose layouts.|
|Spinner||A view that displays one child at a time and lets the user pick among them.|
|Switch||A Switch is a two-state toggle switch widget that can select between two options.|
|TabHost||Container for a tabbed window view.|
|TabHost.TabSpec||A tab has a tab indicator, content, and a tag that is used to keep track of it.|
A layout that arranges its children into rows and columns.
A layout that arranges its children horizontally.
Set of layout parameters used in table rows.
|TabWidget||Displays a list of tab labels representing each page in the parent's tab collection.|
|TextView||Displays text to the user and optionally allows them to edit it.|
User interface state that is stored by TextView for implementing
|TimePicker||A widget for selecting the time of day, in either 24-hour or AM/PM mode.|
|Toast||A toast is a view containing a quick little message for the user. The toast class helps you create and show those.|
|ToggleButton||Displays checked/unchecked states as a button with a "light" indicator and by default accompanied with the text "ON" or "OFF".|
|Toolbar||A standard toolbar for use within application content.|
|Toolbar.LayoutParams||Layout information for child views of Toolbars.|
This class was deprecated
in API level 17.
This class can be implemented easily by apps using a
|VideoView||Displays a video file.|
Base class for a
|ImageView.ScaleType||Options for scaling the bounds of an image to the bounds of this view.|
|RemoteViews.ActionException||Exception to send when something goes wrong executing an action|