7

Image Drawable を SpannableString として TextView に設定していますが、画像がテキストよりも大きくなり、奇妙に見えます。テキストと同じ高さになるようにイメージスパンのサイズを縮小する必要があります。

これが私が試したことです:

drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());

SpannableStringBuilder builder = new SpannableStringBuilder(holder.temptext.getText());
builder.setSpan(new ImageSpan(drawable), selectionCursor - ":)".length(), selectionCursor, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
holder.temptext.setText(builder);
holder.temptext.setSelection(selectionCursor);

holder.caption.setText(builder);
4

1 に答える 1

10

TextViewの高さを測定し、固有の境界の代わりに使用する必要があります。

int lineHeight = holder.temptext.getLineHeight();

drawable.setBounds(0, 0, lineHeight, lineHeight);
于 2015-09-07T23:27:05.280 に答える