Added in API level 3

android.view.inputmethod

Framework classes for interaction between views and input methods (such as soft keyboards). See InputMethodManager for an overview. In most cases the main classes here are not needed for most applications, since they are dealt with for you by TextView. When implementing a custom text editor, however, you will need to implement the InputConnection class to allow the current input method to interact with your view.

Interfaces

InputConnection The InputConnection interface is the communication channel from an InputMethod back to the application that is receiving its input. 
InputMethod The InputMethod interface represents an input method which can generate key events and text, such as digital, email addresses, CJK characters, other language characters, and etc., while handling various input events, and send the text back to the application that requests text input. 
InputMethod.SessionCallback  
InputMethodSession The InputMethodSession interface provides the per-client functionality of InputMethod that is safe to expose to applications. 
InputMethodSession.EventCallback  

Classes

BaseInputConnection Base class for implementors of the InputConnection interface, taking care of most of the common behavior for providing a connection to an Editable. 
CompletionInfo Information about a single text completion that an editor has reported to an input method. 
CorrectionInfo Information about a single text correction that an editor has reported to an input method. 
CursorAnchorInfo Positional information about the text insertion point and characters in the composition string. 
CursorAnchorInfo.Builder Builder for CursorAnchorInfo
DeleteGesture A sub-class of HandwritingGesture for deleting an area of text using single rectangle. 
DeleteGesture.Builder Builder for DeleteGesture
DeleteRangeGesture A subclass of HandwritingGesture for deleting a range of text by defining start and end rectangles. 
DeleteRangeGesture.Builder Builder for DeleteRangeGesture
EditorBoundsInfo Container of rectangular position related info for the Editor. 
EditorBoundsInfo.Builder Builder for EditorBoundsInfo
EditorInfo An EditorInfo describes several attributes of a text editing object that an input method is communicating with (typically an EditText), most importantly the type of text content it contains and the current cursor position. 
ExtractedText Information about text that has been extracted for use by an input method. 
ExtractedTextRequest Description of what an input method would like from an application when extract text from its input editor. 
HandwritingGesture Base class for stylus handwriting gestures. 
InlineSuggestion This class represents an inline suggestion which is made by one app and can be embedded into the UI of another. 
InlineSuggestionInfo This class represents the description of an inline suggestion. 
InlineSuggestionsRequest This class represents an inline suggestion request made by one app to get suggestions from the other source. 
InlineSuggestionsRequest.Builder A builder for InlineSuggestionsRequest 
InlineSuggestionsResponse This class represents an inline suggestion response. 
InputBinding Information given to an InputMethod about a client connecting to it. 
InputConnectionWrapper

Wrapper class for proxying calls to another InputConnection. 

InputContentInfo A container object with which input methods can send content files to the target application. 
InputMethodInfo This class is used to specify meta information of an input method. 
InputMethodManager Central system API to the overall input method framework (IMF) architecture, which arbitrates interaction between applications and the current input method. 
InputMethodSubtype This class is used to specify meta information of a subtype contained in an input method editor (IME). 
InputMethodSubtype.InputMethodSubtypeBuilder InputMethodSubtypeBuilder is a builder class of InputMethodSubtype. 
InsertGesture A sub-class of HandwritingGesture for inserting text at the defined insertion point. 
InsertGesture.Builder Builder for InsertGesture
InsertModeGesture A sub-class of HandwritingGesture for starting an insert mode which inserts a space in the editor to let users hand write freely at the designated insertion point. 
InsertModeGesture.Builder Builder for InsertModeGesture
JoinOrSplitGesture A subclass of HandwritingGesture for deleting or inserting whitespace in text. 
JoinOrSplitGesture.Builder Builder for JoinOrSplitGesture
PreviewableHandwritingGesture A HandwritingGesture that can be previewed
RemoveSpaceGesture A subclass of HandwritingGesture for removing whitespace from text. 
RemoveSpaceGesture.Builder Builder for RemoveSpaceGesture
SelectGesture A sub-class of HandwritingGesture for selecting an area of text using single rectangle. 
SelectGesture.Builder Builder for SelectGesture
SelectRangeGesture A subclass of HandwritingGesture for selecting a range of text by defining start and end rectangles. 
SelectRangeGesture.Builder Builder for SelectRangeGesture
SurroundingText Information about the surrounding text around the cursor for use by an input method. 
TextAppearanceInfo Information about text appearance in an editor, passed through CursorAnchorInfo for use by InputMethodService
TextAppearanceInfo.Builder Builder for TextAppearanceInfo
TextAttribute The data class that IME can take extra information to applications when setting the text. 
TextAttribute.Builder Builder for creating a TextAttribute
TextBoundsInfo The text bounds information of a slice of text in the editor. 
TextBoundsInfo.Builder The builder class to create a TextBoundsInfo object. 
TextBoundsInfoResult The object that holds the result of the InputConnection#requestTextBoundsInfo(RectF, Executor, Consumer) call. 
TextSnapshot An immutable data snapshot of text editing state.