Ich kann Spannable in TextViews verwenden, um Spannen mit unterschiedlichen Looks, Unterstreichungen, Durchstreichungen usw. zu erstellen. Wie kann ich das Zeilenumbruchverhalten ändern? Insbesondere möchte ich nicht, dass eine E-Mail-Adresse in der Mitte liegt, ich möchte, dass sie sich wie ein Wort verhält.Ändern der Zeilenumbruchverhalten
Ich versuchte WrapTogetherSpan, aber ich konnte es nicht zum Funktionieren bringen. Es sieht so aus, als ob es nur von DynamicLayout verwendet wird, und ich konnte das TextView nicht zwingen, DynamicLayout zu verwenden.
<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"
/>
Wie ich die Einstellung der 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)
Nein, weil ich zwei Linien wollen nach oben. Ich möchte nur, dass die E-Mail-Adresse als ein Wort zusammengefügt wird. – pforhan
Entschuldigung, das habe ich vorher nicht verstanden. Es macht jetzt viel mehr Sinn, warum Sie es mit einem spannbaren tun wollten. :) – Barak