减少 ImageSpan 的高度和宽度

Posted

技术标签:

【中文标题】减少 ImageSpan 的高度和宽度【英文标题】:Reduce ImageSpan height and width 【发布时间】:2015-11-24 18:09:18 【问题描述】:

我将 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);

【问题讨论】:

【参考方案1】:

您需要测量TextView 的高度并使用它来代替内在界限:

int lineHeight = holder.temptext.getLineHeight();

drawable.setBounds(0, 0, lineHeight, lineHeight);

【讨论】:

这不会保持图像的纵横比 你可以像val width = lineHeight * drawable.intrinsicWidth / drawable.intrinsicHeight这样计算新的宽度。

以上是关于减少 ImageSpan 的高度和宽度的主要内容,如果未能解决你的问题,请参考以下文章

使用 imagemagick 减少图像宽度和高度而不模糊

如何在 iOS Swift4 中滚动时增加/减少 UILabel 字体大小以及宽度和高度

DIV的宽度和高度在外部CSS时候设置无效?

CSS 定意背景图片: background:url(../images/index_108.jpg) no-repeat 358px 450px; 高度在火狐中失效

如何减少 GridStack 网格元素的最小高度和重量?

减少 ggplot 中的面板高度/宽度并在 R Markdown 中裁剪空白