android imageSpan在超过2和3时陷入困境?

时间:2013-10-08 03:09:37

标签: android

我是中国人,抱歉我的英语不太好。 这是我的问题: 我需要实现一个可以在文本中显示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

1 个答案:

答案 0 :(得分:0)

尝试更改:

ImageSpan span = new ImageSpan(d);

要:

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

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

<EditText 
    android:maxLines = "1"
</EditText>