首页 > 解决方案 > 在 SpannableString 中间的图像之后居中文本

问题描述

我正在制作一个需要动态生成的字符串的应用程序,其中一些需要字符串中间的图像。例如,我有一个问题需要从 a 到 b 的整数符号,而 ∫ 不够好。我试过了

ImageSpan integralOne = new ImageSpan(this, R.drawable.ic_integral_one);
String s = getString(R.string.problem_type_three);
s = s+"5";
SpannableString ss = new SpannableString(s);
ss.setSpan(integralOne, 93, 94, 0);
text.setText(ss);

但图像后的文本与图像底部对齐。该字符串包含问题,其末尾有一个公式。5 代表动态生成的内容。有没有办法将文本居中而不是从下到下?

编辑:我尝试了改变的建议

ImageSpan(this, R.drawable.ic_integral_one);

ImageSpan(this, R.drawable.ic_integral_one, ImageSpan.ALIGN_BASELINE);

并将图像推高了之前和之后。我应该以不同的方式解决这个问题吗?

标签: android

解决方案


对齐默认的 ALIGN_BOTTOM

尝试这个

ImageSpan integral = new ImageSpan(this, R.drawable.ic_integral_one, ImageSpan.ALIGN_BASELINE);

推荐阅读