Per cambiare il colore della maniglia si può fare come specificato here lo si fa usando lo stile come
<style name="MyCustomTheme" parent="@style/MyNotSoCustomTheme">
<item name="android:textSelectHandle">@drawable/text_select_handle_middle</item>
<item name="android:textSelectHandleLeft">@drawable/text_select_handle_left</item>
<item name="android:textSelectHandleRight">@drawable/text_select_handle_right</item>
</style>
Per farlo controllare a livello di codice stessa domanda un'altra risposta here che avviene per mezzo di riflessione
try {
final Field fEditor = TextView.class.getDeclaredField("mEditor");
fEditor.setAccessible(true);
final Object editor = fEditor.get(editText);
final Field fSelectHandleLeft = editor.getClass().getDeclaredField("mSelectHandleLeft");
final Field fSelectHandleRight = editor.getClass().getDeclaredField("mSelectHandleRight");
final Field fSelectHandleCenter = editor.getClass().getDeclaredField("mSelectHandleCenter");
fSelectHandleLeft.setAccessible(true);
fSelectHandleRight.setAccessible(true);
fSelectHandleCenter.setAccessible(true);
final Resources res = context.getResources();
fSelectHandleLeft.set(editor, res.getDrawable(R.drawable.text_select_handle_left));
fSelectHandleRight.set(editor, res.getDrawable(R.drawable.text_select_handle_right));
fSelectHandleCenter.set(editor, res.getDrawable(R.drawable.text_select_handle_middle));
} catch (final Exception ignored) {
}
Per cambiare il colore del testo selezionato puoi impostare textColorHighlight
in xml come
android:textColorHighlight="#ff0000"
attraverso lo stile si può fare come
<item name="android:textColorHighlight">@color/m_highlight_blue</item>
fonte
2015-04-22 11:03:12
grazie per l'aiuto, mi sono piaciute entrambe le risposte, ma la tua era più sui gestori di testo. Immagino che non ci sia modo di colorarli semplicemente? Sì, forse, prima prendi il drawable e poi tingalo ... – Lokkio