Selector de selección de texto de Android
Estoy tratando de crear un gracioso, libre de distracción editor de texto.
Una de las características que realmente me gustaría implementar es una ventana emergente con comandos de formato de texto simple, como negrita, cursiva, subrayado, color de fuente y cara de fuente.
Para darte una idea, aquí está una imagen de la ventana emergente en iOS (Obviamente, esto es sólo la idea. Quiero crear un diseño personalizado para la ventana emergente):
Tengo algunas preguntas:
1) ¿Existe tal cosa como un oyente de selección de texto, o algo equivalente?
2) ¿Necesitaré anular la acción predeterminada de Android para la selección de texto?
3) ¿Cómo puedo mostrar / crear este popup? (Pregunta vaga, lo sé …)
Estoy empezando en el desarrollo de Java y Android, pero ya he creado algunas aplicaciones y he conseguido la caída de la misma.
El término clave que está buscando aquí, para ayudarle con su investigación, es ActionMode
, siempre y cuando su objetivo sea nido de abeja o más reciente.
Los documentos de API (desplácese hasta "utilizando el modo de acción contextual) hacen un buen trabajo explicando las cosas, una vez que encuentre lo que está buscando, que es la mayor barrera para su uso, pero básicamente lo que va a necesitar Para hacer es esto:
-
EditText
suEditText
para ser seleccionable (android:textIsSelectable="true"
osetTextIsSelectable(true);
- Implementar la interfaz
ActionMode.Callback
y proporcionar sus propios elementos de menú.
NOTA: como se mencionó anteriormente, esto sólo funciona para el nivel 11+ de la API. Si está orientado a plataformas anteriores, obtener los eventos para la selección de texto es mucho más complicado.