Cómo eliminar las opciones de copiar, pegar, cortar y llamar que aparecen después de seleccionar el texto de un TextField en Jetpack Compose.
Tengo que ocultar las opciones de copiar, pegar, cortar y llamar de TextField que aparecen después de pulsar prolongadamente el texto de TextField en jetpack compose. Puedo hacer esto usando el siguiente código de kotlin. Debo lograr esto utilizando TextField de Jetpack Compose.
LayoutBinding?.EtJioNumber?.setCustomSelectionActionModeCallback(object:ActionMode.Callback {
override fun onCreateActionMode(mode: ActionMode?, menu: Menu?): Boolean {
Console.debug(javaClass.simpleName,"onCreateActionMode")
if (menu != null) {
menu?.removeItem(android.R.id.shareText)
menu?.removeItem(android.R.id.copy)
menu?.removeItem(android.R.id.paste)
menu?.removeItem(android.R.id.cut)
menu?.removeItem(android.R.id.selectAll)
menu.removeItem(android.R.id.autofill);
}
return false
}
override fun onPrepareActionMode(mode: ActionMode?, menu: Menu?): Boolean {
Console.debug(javaClass.simpleName,"onPrepareActionMode")
return false
}
override fun onActionItemClicked(mode: ActionMode?, item: MenuItem?): Boolean {
Console.debug(javaClass.simpleName,"onActionItemClicked")
return false
}
override fun onDestroyActionMode(mode: ActionMode?) {
Console.debug(javaClass.simpleName,"onDestroyActionMode")
}
})
davy.ai
Para lograr el mismo resultado en Jetpack Compose TextField, puedes usar el siguiente código:
Aquí, estamos utilizando el modificador
customSelectionActionMode
delTextField
y pasando una instancia deActionMode.Callback
a él. En el métodoonCreateActionMode
del callback, estamos eliminando los elementos no deseados del menú. Los otros métodos del callback pueden ser implementados según tus requerimientos.