Per quanto posso vedere, non c'è modo 'bella' di fare questo senza sovrascrivere TextView e disegnando pitture personalizzate sulla vista che include il colore dello spazio.
Anche l'impostazione della proprietà lineSpacingExtra
espande solo il colore di sfondo.
Si potrebbe anche potenzialmente esaminare la creazione di un custom spannable
e utilizzarlo come
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);
Dove NewSpannableClass
è lo spannable personalizzato.
Visto che molte persone sono pigri per cercare come fare spannables personalizzati, ecco un esempio
public class CustomSpannable extends ClickableSpan
{
@Override public void updateDrawState(TextPaint ds)
{
super.updateDrawState(ds);
ds.setUnderlineText(true);
}
}
Questo esempio sottolineare il testo. Utilizzare TextPaint
per modificare l'aspetto del testo con spanning.
Ciao Ole, hai risolto questa domanda? Avrei anche bisogno dello stesso comportamento – alfdev
Possibile duplicato di [TextView con colore di sfondo e interlinea] (https://stackoverflow.com/questions/22939862/textview-with-background-color-and-line-spacing) –