我需要在文本 View 中放置一些图标,但它们不适合行高(请看箭头):
我尝试了这个:
spannable.setSpan(new ImageSpan(context, entry.getValue(), ImageSpan.ALIGN_BOTTOM), Matcher.start(), matcher.end(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
t.setText(spannable, BufferType.SPANNABLE);
和这个:
Drawable myIcon = c.getResources().getDrawable(R.drawable.myicon);
myIcon.setBounds(0, 0, myIcon.getIntrinsicWidth(), myIcon.getIntrinsicHeight());
spannable.setSpan(new ImageSpan(myIcon, ImageSpan.ALIGN_BASELINE), matcher.start(), matcher.end(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
t.setText(spannable, BufferType.SPANNABLE);
在两种情况下,我都得到相同的结果。
我将图标保留在/ res / drawable文件夹中,其大小为75x75px。
我试图降低图像分辨率,但看起来模糊
最佳答案
您需要将图像的边界设置为TextView的行高。例如:
myIcon.setBounds(0, 0, t.getLineHeight(),t.getLineHeight());
当然,这假设您要使用正方形图像。如果不是正方形,那么您将需要手动确定应基于线条高度的宽度值。