SpannableString在横向模式下无法正确显示

时间:2013-05-13 06:35:56

标签: 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

正如大多数人所知,奇怪的String表示iPhone中Emoticon的Unicode。 有没有人遇到过这个问题?

编辑:使用android:imeOptions="actionDone|flagNoExtractUi"进行测试,无效,字词建议会掩盖我的EditText。

1 个答案:

答案 0 :(得分:0)

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

android html decoding