# Print output for @column tags ?>
Developers

- Design
- Develop
- Distribute

Developer Console

## Most visited

## Recently visited

## Results for

Summary: Methods

# KeyEvent.Callback

`public static interface KeyEvent.Callback`
``

android.view.KeyEvent.Callback

Known indirect subclasses AbsListView, AbsSeekBar, AbsSpinner, AbsoluteLayout, AbstractInputMethodService, AccountAuthenticatorActivity, ActionMenuView, Activity, ActivityGroup, AdapterView<T extends Adapter>, AdapterViewAnimator, AdapterViewFlipper, AlertDialog, AliasActivity, AnalogClock, and 87 others.
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 is deprecated. Use `FrameLayout`, `RelativeLayout` or a custom layout instead.
AbstractInputMethodService | AbstractInputMethodService provides a abstract base class for input methods.
AccountAuthenticatorActivity | This class is deprecated. 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 is deprecated. 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 is deprecated. Use `<activity-alias>` or subclass Activity directly.
AnalogClock | This class is deprecated. This widget is no longer supported.
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 is deprecated. Use a custom view or layout to handle this functionality instead
Dialog | Base class for Dialogs.
DigitalClock | This class is deprecated. It is recommended you use `TextClock` instead.
EditText | A user interface element for entering and modifying text.
ExpandableListActivity | This class is deprecated. 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 is deprecated. 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 is deprecated. 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 is deprecated. 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 is deprecated. 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 is deprecated. 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 is deprecated. 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 is deprecated. `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 is deprecated. 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.
StackView |
SurfaceView | Provides a dedicated drawing surface embedded inside of a view hierarchy.
Switch | A Switch is a two-state toggle switch widget that can select between two options.
TabActivity | This class is deprecated. 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 is deprecated. new applications should use fragment APIs instead of this class: Use TabLayout and ViewPager instead.
TabWidget | This class is deprecated. 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.
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.
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.
TvView | Displays TV contents.
TwoLineListItem | This class is deprecated. 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 is deprecated. Use other means to handle this functionality. This widget is merely a simple wrapper around a long-press handler.
ZoomControls | This class is deprecated. This functionality and UI is better handled with custom views and layouts rather than a dedicated zoom-control widget

## Summary

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

    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

    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

    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

    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.

Full name *
Email address *
Company / developer name
One of your Play Store app URLs *
Which best describes your business:*
Apps
Games
Apps & Games
*
*