Perform next-word prediction with text-autocompletion, all in Android. The library uses Rust internally, to bring text-suggestions within a few-milliseconds. See the rust branch for more details.
- Download
text-predictor.aar
from the latest release. (See Releases) - Move the AAR to
app/libs
. - In module-level
build.gradle
, add the dependency,
dependencies {
...
implementation files('libs/text-predictor.aar')
...
}
To generate suggestions while text is being entered in a text-widget (could be a EditText
or TextField
), we use
the stream
method available in the TextPredictor
class. The stream
method must be called inside on a onTextChanged
or a
similar callback that provides a string entered by the user.
For a Compose TextField
,
val textPredictor = TextPredictor( this , results )
var inputString by remember{ mutableStateOf("") }
TextField(
modifier = modifier,
value = inputString,,
onValueChange = {
textPredictor.stream(it)
inputString = it
},
singleLine = true,
)
private val results: ((List<String>) -> Unit) = { suggestions ->
// Handle UI changes that display `suggestions`
}
For a View
-based EditText
,
val textPredictor = TextPredictor( this , results )
editText.addTextChangedListener { it ->
textPredictor.stream( it.toString() )
}
private val results: ((List<String>) -> Unit) = { suggestions ->
// Handle UI changes that display `suggestions`
}