android - SpannableString 在横向模式下显示不正确

标签 android android-layout spannable

我有一段代码使用 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);

中间有一些指标计算,我没有包括在内,因为它们不重要。该代码工作正常。这是它的一些图片:

非编辑模式下的纵向和横向:

Portrait Landscape

但是,一旦我开始在横向模式下进行编辑,图像后面的文字就会出现:

My name is problem, BIG problem

大多数人都知道,奇怪的字符串代表 iPhone 中表情符号的 Unicode。 以前有人遇到过这个问题吗?

编辑:使用 android:imeOptions="actionDone|flagNoExtractUi" 测试,不起作用,单词建议将掩盖我的 EditText。

最佳答案

我建议您在显示编辑键盘之前将 spannable 字符串中的 HTML 代码转换为纯 UNICODE 字符串。如果支持UNICODE 中的表情符号,那么它应该显示在编辑中。完成编辑后将其转换回 HTML。

android html decoding

关于android - SpannableString 在横向模式下显示不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16516109/

相关文章:

c# - MonoDroid GetSpans 最后一个参数

android - 多个spannable设置时如何获取文本宽度

安卓开发 : Show Battery Level

用于本地化应用程序的 Android GCM 推送通知

java - 如何在以下代码中创建电子邮件和密码的运行时条目?

java - 试图让我的 ListView 多选,但我无法让它工作

android - M 新保护级别列表?

android.widget.LinearLayout 无法转换为 android.widget.TextView

android - android studio 1.4中content_main.xml的作用是什么?

android - 多个段落上的 LeadingMarginSpan