У меня есть TextView
, заполненный текстом, который должен содержать несколько объектов ImageSpan
. Изображения могут быть выше обычной высоты строки, что вызывает следующую проблему:
- если изображение является последним объектом строки, высота следующих строк верна
- если последний объект не является изображением, высота следующих строк устанавливается равной высоте строки, содержащей изображение
Что более интересно, так это то, что если в тексте есть символ новой строки, высота строки с этого момента снова хорошая.
TextView
довольно простой:
<TextView
android:id="@+id/text_02"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="18dp"
android:text="Text 02" />
(TextView
находится в LinearLayout
, который находится в ScrollView
.)
Вот как я создаю составной текст:
TextView textView02 = (TextView) findViewById(R.id.text_02);
SpannableString string = new SpannableString(LOREM_IPSUM);
string.setSpan(new ImageSpan(this, R.mipmap.ic_launcher), 102, 103, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
string.setSpan(new ImageSpan(this, R.mipmap.ic_launcher), 105, 106, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
string.setSpan(new ImageSpan(this, R.mipmap.ic_launcher), 108, 109, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
textView02.setText(string);
Есть ли у кого-нибудь идеи о решении для этого? Я бы предпочел не переопределять методы рисования линий TextView
...