Added in API level 1

KeyEvent.Callback


public static interface KeyEvent.Callback

android.view.KeyEvent.Callback
AbsListView Base class that can be used to implement virtualized lists of items. 
AbsSeekBar AbsSeekBar extends the capabilities of ProgressBar by adding a draggable thumb. 
AbsSpinner An abstract base class for spinner widgets. 
AbsoluteLayout This class was deprecated in API level 3. Use FrameLayout, RelativeLayout or a custom layout instead. 
AbstractInputMethodService AbstractInputMethodService provides a abstract base class for input methods. 
AccountAuthenticatorActivity This class was deprecated in API level 30. Applications should extend Activity themselves. This class is not compatible with AppCompat, and the functionality it provides is not complex. 
ActionMenuView ActionMenuView is a presentation of a series of menu options as a View. 
Activity An activity is a single, focused thing that the user can do. 
ActivityGroup This class was deprecated in API level 13. Use the new Fragment and FragmentManager APIs instead; these are also available on older platforms through the Android compatibility package. 
AdapterView<T extends Adapter> An AdapterView is a view whose children are determined by an Adapter
AdapterViewAnimator Base class for a AdapterView that will perform animations when switching between its views. 
AdapterViewFlipper Simple ViewAnimator that will animate between two or more views that have been added to it. 
AlertDialog A subclass of Dialog that can display one, two or three buttons. 
AliasActivity This class was deprecated in API level 30. Use <activity-alias> or subclass Activity directly. 
AnalogClock This class was deprecated in API level 23. This widget is no longer supported; except for RemoteViews use cases like app widgets. 
AppWidgetHostView Provides the glue to show AppWidget views. 
AutoCompleteTextView

An editable text view that shows completion suggestions automatically while the user is typing. 

Button A user interface element the user can tap or click to perform an action. 
CalendarView This class is a calendar widget for displaying and selecting dates. 
CharacterPickerDialog Dialog for choosing accented characters related to a base character. 
CheckBox

A checkbox is a specific type of two-states button that can be either checked or unchecked. 

CheckedTextView An extension to TextView that supports the Checkable interface and displays. 
Chronometer Class that implements a simple timer. 
CompoundButton

A button with two states, checked and unchecked. 

DatePicker Provides a widget for selecting a date. 
DatePickerDialog A simple dialog containing an DatePicker
DialerFilter This class was deprecated in API level 26. Use a custom view or layout to handle this functionality instead 
Dialog Base class for Dialogs. 
DigitalClock This class was deprecated in API level 17. It is recommended you use TextClock instead. 
EditText A user interface element for entering and modifying text. 
ExpandableListActivity This class was deprecated in API level 30. Use RecyclerView or use ExpandableListView directly 
ExpandableListView A view that shows items in a vertically scrolling two-level list. 
ExtractEditText Specialization of EditText for showing and interacting with the extracted text in a full-screen input method. 
FragmentBreadCrumbs This class was deprecated in API level 21. This widget is no longer supported. 
FrameLayout FrameLayout is designed to block out an area on the screen to display a single item. 
GLSurfaceView An implementation of SurfaceView that uses the dedicated surface for displaying OpenGL rendering. 
Gallery This class was deprecated in API level 16. This widget is no longer supported. Other horizontally scrolling widgets include HorizontalScrollView and ViewPager from the support library. 
GestureOverlayView A transparent overlay for gesture input that can be placed on top of other widgets or contain other widgets. 
GridLayout A layout that places its children in a rectangular grid
GridView A view that shows items in two-dimensional scrolling grid. 
HorizontalScrollView Layout container for a view hierarchy that can be scrolled by the user, allowing it to be larger than the physical display. 
ImageButton

Displays a button with an image (instead of text) that can be pressed or clicked by the user. 

ImageSwitcher ViewSwitcher that switches between two ImageViews when a new image is set on it. 
ImageView Displays image resources, for example Bitmap or Drawable resources. 
InlineContentView This class represents a view that holds opaque content from another app that you can inline in your UI. 
InputMethodService InputMethodService provides a standard implementation of an InputMethod, which final implementations can derive from and customize. 
KeyboardView This class was deprecated in API level 29. This class is deprecated because this is just a convenient UI widget class that application developers can re-implement on top of existing public APIs. If you have already depended on this class, consider copying the implementation from AOSP into your project or re-implementing a similar widget by yourselves 
LauncherActivity This class was deprecated in API level 30. Applications can implement this UI themselves using RecyclerView and PackageManager.queryIntentActivities(Intent, int) 
LinearLayout A layout that arranges other views either horizontally in a single column or vertically in a single row. 
ListActivity This class was deprecated in API level 30. Use ListFragment or RecyclerView to implement your Activity instead. 
ListView

Displays a vertically-scrollable collection of views, where each view is positioned immediatelybelow the previous view in the list. 

MediaController A view containing controls for a MediaPlayer. 
MediaRouteButton  
MultiAutoCompleteTextView An editable text view, extending AutoCompleteTextView, that can show completion suggestions for the substring of the text where the user is typing instead of necessarily for the entire thing. 
NativeActivity Convenience for implementing an activity that will be implemented purely in native code. 
NumberPicker A widget that enables the user to select a number from a predefined range. 
PreferenceActivity This class was deprecated in API level 29. Use the AndroidX Preference Library for consistent behavior across all devices. For more information on using the AndroidX Preference Library see Settings. 
Presentation Base class for presentations. 
ProgressBar

A user interface element that indicates the progress of an operation. 

ProgressDialog This class was deprecated in API level 26. ProgressDialog is a modal dialog, which prevents the user from interacting with the app. Instead of using this class, you should use a progress indicator like ProgressBar, which can be embedded in your app's UI. Alternatively, you can use a notification to inform the user of the task's progress. 
QuickContactBadge Widget used to show an image with the standard QuickContact badge and on-click behavior. 
RadioButton

A radio button is a two-states button that can be either checked or unchecked. 

RadioGroup

This class is used to create a multiple-exclusion scope for a set of radio buttons. 

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. 
ScrollView A view group that allows the view hierarchy placed within it to be scrolled. 
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. 
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. 
SplashScreenView

The view which allows an activity to customize its splash screen exit animation. 

StackView  
SurfaceView Provides a dedicated drawing surface embedded inside of a view hierarchy. 
Switch A Switch is a two-state toggle widget. 
TabActivity This class was deprecated in API level 13. New applications should use Fragments instead of this class; to continue to run on older devices, you can use the v4 support library which provides a version of the Fragment API that is compatible down to Build.VERSION_CODES.DONUT. 
TabHost This class was deprecated in API level 30. new applications should use fragment APIs instead of this class: Use TabLayout and ViewPager instead. 
TabWidget This class was deprecated in API level 30. new applications should use fragment APIs instead of this class: Use TabLayout and ViewPager instead. 
TableLayout

A layout that arranges its children into rows and columns. 

TableRow

A layout that arranges its children horizontally. 

TextClock

TextClock can display the current date and/or time as a formatted string. 

TextSwitcher Specialized ViewSwitcher that contains only children of type TextView
TextView A user interface element that displays text to the user. 
TextureView

A TextureView can be used to display a content stream, such as that coming from a camera preview, a video, or an OpenGL scene. 

TimePicker A widget for selecting the time of day, in either 24-hour or AM/PM mode. 
TimePickerDialog A dialog that prompts the user for the time of day using a TimePicker
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. 
TvAdService.Session Base class for derived classes to implement to provide a TV AD session. 
TvAdView Displays contents of TV advertisement services. 
TvInputService.HardwareSession Base class for a TV input session which represents an external device connected to a hardware TV input. 
TvInputService.Session Base class for derived classes to implement to provide a TV input session. 
TvInteractiveAppService.Session Base class for derived classes to implement to provide a TV interactive app session. 
TvInteractiveAppView Displays contents of interactive TV applications. 
TvView Displays TV contents. 
TwoLineListItem This class was deprecated in API level 17. This class can be implemented easily by apps using a RelativeLayout or a LinearLayout. 
VideoView Displays a video file. 
View

This class represents the basic building block for user interface components. 

ViewAnimator Base class for a FrameLayout container that will perform animations when switching between its views. 
ViewFlipper Simple ViewAnimator that will animate between two or more views that have been added to it. 
ViewGroup

A ViewGroup is a special view that can contain other views (called children.) The view group is the base class for layouts and views containers. 

ViewStub A ViewStub is an invisible, zero-sized View that can be used to lazily inflate layout resources at runtime. 
ViewSwitcher ViewAnimator that switches between two views, and has a factory from which these views are created. 
VoiceInteractionSession An active voice interaction session, providing a facility for the implementation to interact with the user in the voice interaction layer. 
WebView A View that displays web pages. 
ZoomButton This class was deprecated in API level 26. Use other means to handle this functionality. This widget is merely a simple wrapper around a long-press handler. 
ZoomControls This class was deprecated in API level 29. This functionality and UI is better handled with custom views and layouts rather than a dedicated zoom-control widget 


Public methods

abstract boolean onKeyDown(int keyCode, KeyEvent event)

Called when a key down event has occurred.

abstract boolean onKeyLongPress(int keyCode, KeyEvent event)

Called when a long press has occurred.

abstract boolean onKeyMultiple(int keyCode, int count, KeyEvent event)

Called when a user's interaction with an analog control, such as flinging a trackball, generates simulated down/up events for the same key multiple times in quick succession.

abstract boolean onKeyUp(int keyCode, KeyEvent event)

Called when a key up event has occurred.

Public methods

onKeyDown

Added in API level 1
public abstract boolean onKeyDown (int keyCode, 
                KeyEvent event)

Called when a key down event has occurred. If you return true, you can first call KeyEvent.startTracking() to have the framework track the event through its onKeyUp(int, android.view.KeyEvent) and also call your onKeyLongPress(int, android.view.KeyEvent) if it occurs.

Parameters
keyCode int: The value in event.getKeyCode().

event KeyEvent: Description of the key event.

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

onKeyLongPress

Added in API level 5
public abstract boolean onKeyLongPress (int keyCode, 
                KeyEvent event)

Called when a long press has occurred. If you return true, the final key up will have KeyEvent.FLAG_CANCELED and KeyEvent.FLAG_CANCELED_LONG_PRESS set. Note that in order to receive this callback, someone in the event change must return true from onKeyDown(int, KeyEvent) and call KeyEvent.startTracking() on the event.

Parameters
keyCode int: The value in event.getKeyCode().

event KeyEvent: Description of the key event.

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

onKeyMultiple

Added in API level 1
public abstract boolean onKeyMultiple (int keyCode, 
                int count, 
                KeyEvent event)

Called when a user's interaction with an analog control, such as flinging a trackball, generates simulated down/up events for the same key multiple times in quick succession.

Parameters
keyCode int: The value in event.getKeyCode().

count int: Number of pairs as returned by event.getRepeatCount().

event KeyEvent: Description of the key event.

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

onKeyUp

Added in API level 1
public abstract boolean onKeyUp (int keyCode, 
                KeyEvent event)

Called when a key up event has occurred.

Parameters
keyCode int: The value in event.getKeyCode().

event KeyEvent: Description of the key event.

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