【发布时间】:2012-05-14 23:22:28
【问题描述】:
我可以在 TextViews 中使用 Spannable 来创建具有不同外观、下划线、删除线等的跨度。我如何做同样的事情来改变换行行为?特别是,我不希望电子邮件地址夹在中间,我希望它像一个单词一样。
我尝试了WrapTogetherSpan,但无法正常工作。貌似只有DynamicLayout使用,无法强制TextView使用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"
/>
我如何设置 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)
【问题讨论】:
标签: android textview word-wrap