我有一段代码使用 SpannableString 将一些图像添加到 EditText 中,如下所示:
SpannableString ss = new SpannableString("Some random String in my application.");
Drawable d = getResources().getDrawable(R.drawable.emoticon_0001);
ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BOTTOM);
ss.setSpan(span, startIndex, endIndex, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
中间有一些指标计算,我没有包括在内,因为它们不重要。该代码工作正常。这是它的一些图片:
非编辑模式下的纵向和横向:
但是,一旦我开始在横向模式下进行编辑,图像后面的文字就会出现:
大多数人都知道,奇怪的字符串代表 iPhone 中表情符号的 Unicode。 以前有人遇到过这个问题吗?
编辑:使用 android:imeOptions="actionDone|flagNoExtractUi"
测试,不起作用,单词建议将掩盖我的 EditText。
最佳答案
我建议您在显示编辑键盘之前将 spannable 字符串中的 HTML 代码转换为纯 UNICODE 字符串。如果支持UNICODE 中的表情符号,那么它应该显示在编辑中。完成编辑后将其转换回 HTML。
关于android - SpannableString 在横向模式下显示不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16516109/