Soweit ich sehen kann, gibt es keine 'nette' Art und Weise, dies zu tun ohne TextView zu überschreiben und benutzerdefinierte Farben auf der Ansicht zu zeichnen, die die Lückenfarbe enthält.
Wenn Sie nur die Eigenschaft lineSpacingExtra
festlegen, wird nur die Hintergrundfarbe erweitert.
Sie können auch sehen möglicherweise in einem benutzerdefinierten spannable
erstellen 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
den benutzerdefinierten spannable ist.
sehen wie viele Menschen sind faul, um zu sehen, wie benutzerdefinierte spannables zu machen, ein Beispiel ist hier
public class CustomSpannable extends ClickableSpan
{
@Override public void updateDrawState(TextPaint ds)
{
super.updateDrawState(ds);
ds.setUnderlineText(true);
}
}
Dieses Beispiel wird der Text unterstreichen. Verwenden Sie TextPaint
, um das Aussehen des übergreifenden Texts zu ändern.
Hallo Ole, hast du diese Frage gelöst? Ich würde auch das gleiche Verhalten brauchen – alfdev
Mögliches Duplikat von [TextView mit Hintergrundfarbe und Zeilenabstand] (https://stackoverflow.com/questions/22939862/textview-with-background-color-and-line-spacing) –