我是中国人,抱歉我的英语不太好。 这是我的问题: 我需要实现一个可以在文本中显示Emoticon的函数,我使用imageSpan来实现它。我成功地展示了表情,但结果很糟糕,当有超过2或3张图片时,它只是搞砸了
![在此处输入图片说明] [1]
任何人都可以告诉我如何解决这个问题?非常感谢
if (getFaceCount() >= 10) {
if (toast == null)
toast = new MyToast(context);
toast.showToast("最多只能添加10个表情 ", 3000);
break;
}
int index = txtContent.getSelectionStart();
// 插入字符
Editable editable = txtContent.getText();
editable.insert(index, v.getTag().toString());
// 显示表情
Spannable s = txtContent.getText();
Drawable d = null;
try {
d = getActivity().getResources().getDrawable(
new JYCReflection<R.drawable>().getIntField(
R.drawable.class, v.getTag().toString()
.replace("[", "").replace("]", "")));
} catch (Exception e) {
// TODO Auto-generated catch block
}
d.setBounds(0, 0, JYCScreen.dip2px(20, JYCScreen.scale),
JYCScreen.dip2px(20, JYCScreen.scale));
ImageSpan span = new ImageSpan(d);
s.setSpan(span, index, index + 6,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
[图像] http://www.freeimagehosting“净/吨/ nfjy1.jpg
答案 0 :(得分:0)
尝试更改:
ImageSpan span = new ImageSpan(d);
要:
ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);
根据您的评论,请尝试在EditText XML文件中添加:
<EditText
android:maxLines = "1"
</EditText>