相关疑难解决方法(0)

在Android中显示表情符号

我的IM应用程序必须支持表情符号.它们是GIF并具有文本表示,如果用户选择其中一个,则在输入框中使用这些表示.但是我想在它们发送后将它们显示为图像.目前我的自定义数组适配器在一行的TextView中显示已发送的消息.

根据文本表示的出现动态显示图像的正确方法是什么?我是否必须搜索表情符号文本,如果找到它,则从布局中删除TextView(relativeLayout最适合?)并添加带有IM开头的TextView,带有表情符号的ImageView和另一个TextView.如果同时发送更多表情符号,它可能会很混乱.

有更简单,更合乎逻辑的方式吗?

android dynamic emoticons imageview

36
推荐指数
2
解决办法
3万
查看次数

使用SpannableStringBuilder和ImageSpan的EditText不能正常工作

我正在尝试将表情符号放在EditText中.我已经设法做到了它工作正常,但当我尝试使用软键盘从EditText删除这些表情符号时我遇到了问题.单击删除按钮,我无法执行此操作.当我插入一个新的ImageSpan时,我为它替换了imageId但是当我尝试删除de图标时,我必须删除所有imageId字符才能删除图像.

String fileName = "emoticon1.png";
Drawable d = new BitmapDrawable(getResources(), fileName);
String imageId = "[" + fileName + "]";
int cursorPosition = content.getSelectionStart();
int end = cursorPosition + imageId.length();
content.getText().insert(cursorPosition, imageId);

SpannableStringBuilder ss = new SpannableStringBuilder(content.getText());
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);
ss.setSpan(span, cursorPosition, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
content.setText(ss, TextView.BufferType.SPANNABLE);
content.setSelection(end);
Run Code Online (Sandbox Code Playgroud)

我需要通过单击删除按钮来删除表情符号.请问你能帮帮我吗?

谢谢!

android android-edittext galaxy-nexus

8
推荐指数
1
解决办法
1万
查看次数