Android TextView Text Hintergrundfarbe

Wie kann ich einen solchen Effekt mit einem Android TextView erreichen? Es sieht irgendwie wie ausgewählter Text aus und ich konnte in der API nichts Ähnliches finden.

Dies ist keine Hintergrundfarbe für die Ansicht, sondern eine Hintergrundfarbe nur für den Text. Sie können sehen, wie es bei Zeilenumbrüchen aufhört und eine dünne weiße Linie zwischen Textzeilen hat.

  • Genymotion: Edit / System / etc / hosts Datei
  • Warum ist das LayoutAlgorithm.SINGLE_COLUMN von WebView veraltet?
  • Wie man Notifizierungs-Aktion (Klick) auf Sperrbildschirm ausführt?
  • Erstellen Sie eine 360-Grad-interaktive Produktvorschau
  • Android draw9patch wirft NoClassDefFoundError
  • ViewPostImeInputStage ACTION_DOWN
  • Bildschirmfoto

  • Android - Animieren einer Ansicht topMargin / bottomMargin / etc in LinearLayout oder RelativeLayout
  • Cardview Schatten erscheint nicht in Lutscher?
  • Android Studio veröffentlicht lokale Bibliothek
  • Wie kann man die Audiodateien direkt aus dem Res / Roh-Ordner abspielen?
  • Make editText verlieren Fokus auf back press
  • "Ein interner Fehler ist aufgetreten" mit der Integration von Google Plus Login
  • 9 Solutions collect form web for “Android TextView Text Hintergrundfarbe”

    Soweit ich sehen kann, gibt es keine "nette" Art, dies zu tun, ohne TextView zu überschreiben und benutzerdefinierte Lacke auf die Ansicht zu zeichnen, die die Lückenfarbe beinhaltet.

    Sogar das Setzen der Eigenschaft lineSpacingExtra erweitert nur die Hintergrundfarbe.

    Sie könnten auch potenziell in die Schaffung einer benutzerdefinierten spannable und verwenden Sie es wie

     Spannable str = new SpannableStringBuilder("How can I achieve such an effect with an Android TextView. It looks somehow like selected text and I couldn't find something similar in the API."); str.setSpan(new NewSpannableClass(), 0, str.length() - 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); ((TextView)findViewById(R.id.text)).setText(str); 

    Wo NewSpannableClass ist die benutzerdefinierte spannable.

    Sehen Sie so viele Leute sind faul zu schauen, wie man benutzerdefinierte Schnauze machen, hier ist ein Beispiel

     public class CustomSpannable extends ClickableSpan { @Override public void updateDrawState(TextPaint ds) { super.updateDrawState(ds); ds.setUnderlineText(true); } } 

    Dieses Beispiel unterstreicht den Text. Verwenden Sie TextPaint , um das Aussehen des überspannten Textes zu ändern.

     <TextView android:background="#0000FF" android:textColor="#FFFFFF" /> 

    Würde ein TextView mit einem blauen Hintergrund und weißem Text definieren … ist das was du brauchst?

    Ich glaube, es gibt einen einfacheren und schöneren Weg, dies zu erreichen: Erstellen Sie einfach einen backgroundColorSpan und fügen Sie ihn zu einem SpannableString hinzu. Etwas in dieser Richtung:

     public static SpannableString buildBackgroundColorSpan(SpannableString spannableString, String text, String searchString, int color) { int indexOf = text.toUpperCase().indexOf(searchString.toUpperCase()); try { spannableString.setSpan(new BackgroundColorSpan(color), indexOf, (indexOf + searchString.length()), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); } catch (Exception e) { } return spannableString; } 

    Wo "spannableString" ist das spürbareString-Objekt erstellt und angenommen, dass mit "Text" initialisiert werden; "SearchString" steht für den Text, den Sie in Ihrem TextView "markieren" möchten, und "Farbe" der Hintergrundfarbe, auf die der "hervorgehobene" Text gesetzt werden soll.

     String text = "The Quick Brown Fox Jumps over the Lazy Dog"; String searchString = "brown"; int color = Color.parseColor("#FFF5F19E"); SpannableString spannableString = new SpannableString(text); spannableString = StringUtils.buildBackgroundColorSpan(spannableString, text, searchString, color); 

    Ich denke, das sollte genügen

    Vielen Dank

    Verwenden Sie dieses Beispiel

      <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#0000FF" android:textColor="#FFFFFF" /> 

    Für die Auswahl Farbe verwenden Sie diesen Link http://html-color-codes.info/

    Rot: # 750A0A

    Blau: # 002BFF

    Grün: # 33FF00

    Weiß: #FFFFFF

    Schwarz: # 000000

    Versuchen Sie dies unterhalb der textview in .xml Datei:

     <TextView android:background="#0000FF"> 

    Wenn du es von XML ausprobieren willst, probier die Lösung der anderen Leute, die einfach wie:

      <TextView android:id="@+id/TextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:textColor="#ffffff" android:background="#1bgtbgt"/> 

    Wenn du es aus dem Aktivitätscode machen möchtest, kannst du es dynamisch ändern wie versuch mit:

     text.setBackgroundColor( int color); 

    Legen Sie einfach die TextView-Länge als match_parent , dass es in einem übergeordneten Wert verschachtelt ist, der die gesamte Länge des Bildschirms überspannt, und Ihr Text wird die gleiche Länge sein, aber die Box wird auf die gesamte Länge des Bildschirms erhöhen.

    Versuchen Sie, diese für Texthintergrundfarbe zu verwenden

      <TextView android:id="@+id/comment_dis" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="Stack Overflow android:textColor="#ffffff" android:background="#3cabdc"/> 

    Sie können ein weiteres Layout um die TextView hinzufügen und ihren Hintergrund auf die gewünschte Farbe setzen

     <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#000000" > <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:textColor="#FFFFFF" android:text="@string/text" /> </LinearLayout> 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.