EditText / TextView einzelne Wörter Highlighten

  • Guten Tag! :)


    Nachdem ich jetzt einige Zeit im Spielebereich von Android herumgetüfftelt habe (sowohl mit Canvas als auch mithilfe von Andengine, zweiteres kann ich jeden wärmstens empfehlen :)), möchte ich mich nun auch an "normale" Apps wagen.


    Und hier die Frage: Der User kann sich frei entscheiden, welchen Text er schreibt. Er sollte das Feld, in dem er schreibt, selbst vergrößern / verkleinern können. Das ermögliche ich ihm mit einem EditText. Soweit so gut, nur sollte der User auch die Wahl haben, welches Wort bzw. welche Wörter er im EditText größer, welche Fett, welche kursiv usw. haben möchte. Wie realisiere ich das? Funktioniert das mit einem EditText oder sollte ich es hierfür in ein TextView umwandeln?


    Die Buttons hierfür möchte ich direkt über dem EditText erscheinen lassen. Das dürfte ich auch hinbekommen, nur wie's dann weiter geht ist die Frage :P


    Danke für eure Vorschläge :)


    MFG

  • Natürlich habe ich erst dann die Lösung ergoogeln können, nachdem ich hier ein Thread erstellt habe... Heißes Stichwort: Spannable




    Für suchende, hier auch ein Ausschnitt:


    eT.setText("aaa bbb ccc ddd eee fff", BufferType.SPANNABLE);
    Spannable s = (Spannable)eT.getText();


    //Bsp einfärben
    s.setSpan(new ForegroundColorSpan(0xFFFF0000), 4, 7, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);


    //Bsp fett machen
    s.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 7, 10, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);


    //Bsp Größe ändern
    TextAppearanceSpan tas = new TextAppearanceSpan(this, android.R.style.TextAppearance_Large);
    s.setSpan(tas, 0, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);




    MFG

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!