У меня есть кусок кода, который добавляет некоторые изображения в EditText используя SpannableString следующим образом:SpannableString не отображается корректно в ландшафтном режиме
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);
Существует некоторый расчет индекса между, что я не включил, потому что они не важно. Код работает нормально. Вот некоторые изображения из него:
Портрет и пейзаж в режиме без редактирования:
Однако, как только я начала редактирования в ландшафтном режиме, текст за изображение появляется:
Как известно большинству людей, странная строка представляет собой Unicode для Emoticon в iPhone. Кто-нибудь сталкивался с этой проблемой раньше?
РЕДАКТИРОВАТЬ: Протестировано с android:imeOptions="actionDone|flagNoExtractUi"
, не работает, предложение слова прикроет мой EditText.
Я не видел этого, но я сделал достаточно работы с клавиатурой, чтобы иметь хорошее предположение о том, что происходит. Похоже, когда отображается ExtractView (представление экстракта является частью пейзажного редактирования над клавиатурой, его фактически нарисовано платформой Android и является частью вашего приложения из POV клавиатуры), вы теряете свой диапазон изображений и просто там размещается простой текст. Почему и как вы это исправите, на данный момент у меня нет хороших идей. Это происходит и в других приложениях? Скажите приложение для обмена сообщениями? Что такое редактирование в портрете? –
Спасибо за информацию, я протестировал с помощью известного приложения для обмена сообщениями Whatsapp. И он показывает пустое пространство на этих смайликах. Это имеет смысл, потому что эти символы представляют Unicode, который будет пустым пространством, если они не могут найти правильный символ, прикрепленный к коду. Точно так же, как отправка emoji с iPhone SMS на устройство Android, также будет отображаться пустое пространство. –
@GabeSechan Извините, не ответил на ваш вопрос, редактирование в портретном режиме прекрасно работает. Проблема возникает только при редактировании ландшафта, а также в Whatsapp. –