У меня есть TextView, в котором я должен загрузить сообщение. TextView имеет максимум 2 строки (android:lines="2"
). Сообщение может содержать символ «\ n».Textview показать частичный текст
Как загрузить сообщение в этом TextView, чтобы слова были обернуты, и если в этих двух строках сообщение не подходит, в конце последнего видимого слова я должен добавить три точки (...)? Как определить длину текста, который подходит для этого TextView?
Мой код TextView является
<TextView
a:id="@+id/tv_message"
a:gravity="top"
a:layout_width="wrap_content"
a:layout_height="wrap_content"
a:layout_alignParentTop="true"
a:layout_toRightOf="@id/iv_icon"
a:layout_marginLeft="2dp"
a:layout_marginTop="4dp"
a:paddingRight="7dp"
a:paddingBottom="5dp"
a:textSize="12sp"
a:typeface="sans"
a:ellipsize="marquee"
a:lines="2"
a:maxLines="2"
a:textColor="@android:color/black"
/>
Но в применении, на двух строках появляется текст, даже если есть строка, содержащая подпись. Сообщение выглядит так: «текст сообщения» + «\ nSignature», но сообщение может быть на 1,2,3 строки, в зависимости от длины сообщения.
Почему вы должны знать длину текста? Это может варьироваться для разных размеров экрана, если вы не определить фиксированную ширину для TextView. – Adinia
Моя проблема в том, что я не знаю, как добавить 3 точки в конце последнего видимого слова. Android: elli psize = "end" и android: ellipsize = "marquee" не помогает .... так что я думал, что я не добавляю весь текст в textview, но только текст, который подходит текстовому окну –
, можете опубликовать код для TextView, который вы используете сейчас? возможно, есть другие свойства, которые препятствуют работе эллипсиса. – Adinia