Class TextInputChannel
TextInputChannel
is a platform channel between Android and Flutter that is used to
communicate information about the user's text input.
When the user presses an action button like "done" or "next", that action is sent from Android
to Flutter through this TextInputChannel
.
When an input system in the Flutter app wants to show the keyboard, or hide it, or configure
editing state, etc. a message is sent from Flutter to Android through this TextInputChannel
.
TextInputChannel
comes with a default MethodChannel.MethodCallHandler
that parses incoming messages from
Flutter. Register a TextInputChannel.TextInputMethodHandler
to respond to standard Flutter text input
messages.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
A text editing configuration.static class
A text input type.static enum
Text capitalization schemes.static class
State of an on-going text editing session.static interface
static enum
Types of text input. -
Field Summary
-
Constructor Summary
ConstructorDescriptionTextInputChannel
(DartExecutor dartExecutor) Constructs aTextInputChannel
that connects Android to the Dart code running indartExecutor
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
commitContent
(int inputClientId, Map<String, Object> content) Instructs Flutter to commit inserted content back to the text channel.void
done
(int inputClientId) Instructs Flutter to execute a "done" action.void
go
(int inputClientId) Instructs Flutter to execute a "go" action.void
newline
(int inputClientId) Instructs Flutter to execute a "newline" action.void
next
(int inputClientId) Instructs Flutter to execute a "next" action.void
performPrivateCommand
(int inputClientId, String action, Bundle data) void
previous
(int inputClientId) Instructs Flutter to execute a "previous" action.void
Instructs Flutter to reattach the last active text input client, if any.void
search
(int inputClientId) Instructs Flutter to execute a "search" action.void
send
(int inputClientId) Instructs Flutter to execute a "send" action.void
setTextInputMethodHandler
(TextInputChannel.TextInputMethodHandler textInputMethodHandler) Sets theTextInputChannel.TextInputMethodHandler
which receives all events and requests that are parsed from the underlying platform channel.void
unspecifiedAction
(int inputClientId) Instructs Flutter to execute an "unspecified" action.void
updateEditingState
(int inputClientId, String text, int selectionStart, int selectionEnd, int composingStart, int composingEnd) Instructs Flutter to update its text input editing state to reflect the given configuration.void
updateEditingStateWithDeltas
(int inputClientId, ArrayList<TextEditingDelta> batchDeltas) void
updateEditingStateWithTag
(int inputClientId, HashMap<String, TextInputChannel.TextEditState> editStates)
-
Field Details
-
channel
-
-
Constructor Details
-
TextInputChannel
Constructs aTextInputChannel
that connects Android to the Dart code running indartExecutor
.The given
dartExecutor
is permitted to be idle or executing code.See
DartExecutor
.
-
-
Method Details
-
requestExistingInputState
public void requestExistingInputState()Instructs Flutter to reattach the last active text input client, if any.This is necessary when the view hierarchy has been detached and reattached to a
FlutterEngine
, as the engine may have kept alive a text editing client on the Dart side. -
updateEditingState
public void updateEditingState(int inputClientId, @NonNull String text, int selectionStart, int selectionEnd, int composingStart, int composingEnd) Instructs Flutter to update its text input editing state to reflect the given configuration. -
updateEditingStateWithDeltas
public void updateEditingStateWithDeltas(int inputClientId, @NonNull ArrayList<TextEditingDelta> batchDeltas) -
updateEditingStateWithTag
public void updateEditingStateWithTag(int inputClientId, @NonNull HashMap<String, TextInputChannel.TextEditState> editStates) -
newline
public void newline(int inputClientId) Instructs Flutter to execute a "newline" action. -
go
public void go(int inputClientId) Instructs Flutter to execute a "go" action. -
search
public void search(int inputClientId) Instructs Flutter to execute a "search" action. -
send
public void send(int inputClientId) Instructs Flutter to execute a "send" action. -
done
public void done(int inputClientId) Instructs Flutter to execute a "done" action. -
next
public void next(int inputClientId) Instructs Flutter to execute a "next" action. -
previous
public void previous(int inputClientId) Instructs Flutter to execute a "previous" action. -
unspecifiedAction
public void unspecifiedAction(int inputClientId) Instructs Flutter to execute an "unspecified" action. -
commitContent
Instructs Flutter to commit inserted content back to the text channel. -
performPrivateCommand
-
setTextInputMethodHandler
public void setTextInputMethodHandler(@Nullable TextInputChannel.TextInputMethodHandler textInputMethodHandler) Sets theTextInputChannel.TextInputMethodHandler
which receives all events and requests that are parsed from the underlying platform channel.
-