私が修正しようとしている問題は、次のとおりです。TextView
を持っていて、一部の文字を太字に設定するのにSpannable
を使用しています。 テキストは2行(android:maxLines="2"
)の最大値を持つ必要があり、テキストを省略記号にしたいが、何らかの理由でテキストを省略することはできません。Spannable - ellipsizeを使用したTextViewが機能しない
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:maxLines="2"
android:ellipsize="end"
android:bufferType="spannable"
android:text="@string/app_name"
android:textSize="15dp"/>
</LinearLayout>
と活動:
はここで簡単なコードである
public class MyActivity extends Activity {
private TextView name;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
name= (TextView) findViewById(R.id.name);
name.setText("Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy ");
Spannable spannable = (Spannable)name.getText();
StyleSpan boldSpan = new StyleSpan(Typeface.BOLD);
spannable.setSpan(boldSpan, 10, 15, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
}
}
テキストが切り捨てられ、ない "..." が表示されます。
を使用することができますhttps://github.com/lsjwzh/FastTextView/blob/master/widget.FastTextView/src/main/java/com/lsjwzh/widget/text/FastTextView.java
あなたは、私が '' textView.setText(spannableStringBuilder、TextView.BufferType.SPANNABLE)を使用していた、私を示唆しました。単に 'textView.setText(spannableStringBuilder)'を使うと動作します。 – Sylphe
@lannyfどのようにこれは機能しますか?あなたは作戦と同じ問題がありますか?私はして、それは私のために動作しません –
@Sylpheそのバッファ型がそれを壊した理由は? – AdamMc331