是否可以在Android消息中添加动画表情符号

我正在为Android开发表情符号键盘,但不知道如何在InputMethodService的currentInputConnection中添加动画表情符号.

 Edittext content= findVie......
    sb = new SpannableStringBuilder();
            String dummyText = "-";
            sb.append(dummyText);

            try {
                sb.setSpan(anim = new AnimatedImageSpan(new AnimatedGifDrawable(
                        getAssets().open("54.gif"),
                        new AnimatedGifDrawable.UpdateListener() {
                            @Override
                            public void update() {
                                content.requestLayout();
                                content.invalidate();
                            }
                        })), sb.length() - dummyText.length(), sb.length(),
                        Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            content.setText(sb);

这里的内容是一个editText视图,但是我没有任何编辑文本视图.我所拥有的只是由InputMethodService.getCurrentInputConnection()返回的currentInputConnection.

解决方法:

如果我对您的理解正确,那么您正在尝试向EditText发送“动画图像”(例如gif)吗?据我所知,这可能是不可能的.如果您已阅读InputConnection的documentation,则应该知道它不提供任何API来执行此操作.

实际上,我正在开发一个Android IME项目,其中我们实现了一个静态Emoji输入键盘.我们要做的就是简单地通过InputConnection发送表情符号的编码字节,然后在编辑框中显示笑脸.

如果您使用WeChat,则可能会注意到其客户端已实现了自定义表情符号键盘(包括静态和动态内容).那是因为他们确切地知道自己在做什么.

上一篇:理解position定位


下一篇:python-Tkinter中的Keyup处理程序?