У меня есть TextView, который я заполнил 2 строками и изображением, используя SpannableStringBuilder.Примерно так: -
SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder();
StringBuilder stringBuilder = new StringBuilder(Util.getFormattedText(getProfileName()) + " ");
RelativeSizeSpan largeSizeText = new RelativeSizeSpan(5.0f);
stringBuilder.append(m_context.getResources().getString(R.string.extra_dots));// added two extra char to display image
Spannable span = new SpannableString(stringBuilder);
Drawable mDrawableDot = m_context.getResources().getDrawable(R.drawable.ic_comment_separator_dot);
mDrawableDot.setBounds(m_context.getResources().getInteger(R.integer.value_0), m_context.getResources().getInteger(R.integer.value_0), m_context.getResources().getInteger(R.integer.dot_size), m_context.getResources().getInteger(R.integer.dot_size));
ImageSpan imageSpan = new ImageSpan(mDrawableDot, ImageSpan.ALIGN_BASELINE){
public void draw(Canvas canvas, CharSequence text, int start,
int end, float x, int top, int y, int bottom,
Paint paint) {
Drawable b = getDrawable();
canvas.save();
int transY = bottom - b.getBounds().bottom;
// this is the key
transY -= paint.getFontMetricsInt().descent * m_context.getResources().getInteger(R.integer.value_2);
canvas.translate(x, transY);
b.draw(canvas);
canvas.restore();
}
};
span.setSpan(imageSpan, span.length() - 2, span.length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
spannableStringBuilder.append(span);
spannableStringBuilder.append(" " + getDate());
tvUsername.setText(spannableStringBuilder);
Теперь текст отображается правильно.Теперь я хочу увеличить размер текста до ImageSpan
Я пытался сделать
span.setSpan(new RelativeSizeSpan(2f), 0,5, 0); // set size
Но это только увеличивает первое слово строки перед изображением.Как я могу увеличить размер всей строки перед изображением?Любая помощь приветствуется.