1

我是中国人,抱歉我的英语不是很好。这是我的问题:我需要实现一个可以在文本中显示表情符号的功能,我使用 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 'net/t/nfjy1.jpg

4

1 回答 1

0

尝试改变:

ImageSpan span = new ImageSpan(d);

至:

ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);

根据您的评论,尝试在您的 EditText XML 文件中添加此内容:

<EditText 
    android:maxLines = "1"
</EditText>
于 2013-10-09T16:10:25.693 回答