14

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"
  />

スパナブルの設定方法:

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)
4

3 に答える 3

0

android:singleLine="true"XMLに追加してみましたか?

于 2012-05-15T04:02:58.293 に答える