Posso usare Spannable in TextViews per creare span con aspetto, sottotitoli, barrato e così via. Come posso fare lo stesso per modificare il comportamento di avvolgimento linea? In particolare, non voglio un indirizzo email per avvolgere nel mezzo, voglio che si comporti come una parola.Modifica del comportamento del ritorno a capo
Ho provato WrapTogetherSpan, ma non riuscivo a farlo funzionare. Sembra che sia utilizzato solo da DynamicLayout e non potrei forzare il TextView a utilizzare DynamicLayout.
<TextView
android:id="@+id/merchant_email_field"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="@dimen/account_setting_email"
android:gravity="center"
android:bufferType="spannable"
android:maxLines="2"
android:ellipsize="end"
/>
Come sto impostando la spannable:
WrapTogetherSpan TOGETHER_SPAN = new WrapTogetherSpan() {};
String collectedString = getString(R.string.email_sentence, userEmail);
int emailOffset = collectedString.indexOf(userEmail);
Spannable emailSpannable = Spannable.Factory.getInstance()
.newSpannable(collectedString);
emailSpannable.setSpan(TOGETHER_SPAN, emailOffset,
emailOffset + userEmail.length(),
Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
textView.setText(emailSpannable)
No, perché voglio fino a due righe. Voglio solo che l'indirizzo e-mail si completi insieme come una parola. – pforhan
Mi scuso, non l'ho capito prima. Ha molto più senso ora perché stavi cercando di farlo con una pubblicità spendibile. :) – Barak