Выровнять текст по центру ImageSpan по вертикали

у меня естьImageSpan внутри куска текста. Я заметил, что окружающий текст всегда рисуется в нижней части текстовой строки - точнее, размер текстовой строки увеличивается с изображением, но базовая линия текста не смещается вверх. Когда изображение заметно больше, чем размер текста, эффект довольно неприглядный.

Вот пример, контур показывает границыTextView:

Я пытаюсь расположить окружающий текст вертикально по отношению к отображаемому изображению. Вот тот же пример с синим текстом, показывающим желаемое местоположение:

Вот ограничения, с которыми я связан:

Я не могу использовать составные чертежи. Изображения должны отображаться между словами.Текст может быть многострочным в зависимости от содержания. Я не могу это контролировать.Мои изображения больше окружающего текста, и я не могу уменьшить их размер. Хотя приведенный выше пример изображения больше, чем фактические изображения (чтобы продемонстрировать текущее поведение), фактические изображения все еще достаточно велики, чтобы эта проблема была заметной.

Я пытался использоватьandroid:gravity="center_vertical" атрибут на TextView, но это не имеет никакого эффекта. Я верю, что это просто вертикально по центру тексталинии, но внутри текстовой строки текст по-прежнему рисуется внизу.

Мой текущий ход мыслей состоит в том, чтобы создать пользовательский диапазон, который смещает базовую линию текста на основе высоты строки и текущего размера текста. Этот интервал будет охватывать весь текст, и мне придется вычислять пересечение сImageSpans, поэтому я могу избежать смещения изображений. Это звучит довольно устрашающе, и я надеюсь, что кто-то может предложить другой подход.

Любая помощь приветствуется!

Ответы на вопрос(7)

Ваш ответ на вопрос